-3
我可以知道如何处理参数a
in main()
以便我可以调用复制构造函数吗?错误:没有已知的从'foo1 *'到'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);
}
感谢,如果有人可以帮助
我试过了,但我面临另一个错误:没有已知的从'foo1'到'const foo2'转换' – Jess
downcasts需要明确 - * dynamic_cast(a)',这里是[文档](http://en.cppreference.com/w/cpp/language/dynamic_cast) –
UnholySheep
@UnholySheep它不起作用,错误:'未定义引用'foo2: :foo2(foo2 const&)'。我的代码是这样的'foo1 * b = new foo2(* dynamic_cast(a));',纠正我,如果我输入错误 –
Jess