错误:没有已知的转换来自' foo1 *'到' const foo2&'

时间:2017-01-14 18:42:18

标签: c++ polymorphism const copy-constructor

我可以知道如何处理a中的参数main(),以便我可以调用复制构造函数吗?

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);
}

感谢任何人都可以提供帮助

1 个答案:

答案 0 :(得分:0)

您的复制构造函数需要引用(地址)并且您尝试传递指针。所以你要创建实际对象而不是指针或引用指针