-3
Darf ich wissen, was mit dem Parameter a
in main()
zu tun, so dass ich den Copy Constructor aufrufen kann?Fehler: keine bekannte Konvertierung von 'foo1 *' nach 'const foo2 &'
class foo1 {
public:
virtual void display() = 0;
};
class foo2 : public foo1
{
public:
foo2();
foo2(const foo2& a);
void display()
{
cout << "Copy constructor works\n";
}
};
int main()
{
foo1* a = new foo2;
foo1* b = new foo2(a);
}
Dank, wenn jemand
Ich habe versucht, aber ich sah einen anderen Fehler: keine bekannte Umwandlung von 'foo1' zu 'const foo2 &' – Jess
Downcasts müssen explizit sein - versuchen ' * dynamic_cast (a) ', hier ist die [Dokumentation] (http://en.cppreference.com/w/cpp/language/dynamic_cast) –
UnholySheep
@ UnholySheep es funktioniert nicht, Fehler:' undefinierter Verweis auf 'foo2: : foo2 (foo2 const &) '. Mein Code ist wie folgt 'foo1 * b = new foo2 (* dynamic_cast (a));', korrigieren Sie mich, wenn ich falsch eingegeben –
Jess