全部
编译器本身声明函数已删除的条件是什么?
请考虑以下事项:
class Foo
{
public:
Foo();
virtual void func1() = 0;
virtual void func2() = 0;
virtual bool func3();
}
class Bar : public Foo
{
public:
Bar(int param1);
virtual void func1() override;
virtual void func2() override;
virtual bool func3() override;
}
class Baz
{
public:
Baz(std::unique_ptr<Foo> &foo)
{
m_foo = foo;
}
private:
std::unique_ptr<Foo> m_foo;
}
我在分配(MSVC 2019)时遇到编译器错误:
attempting to reference a deleted function
这是用C ++ 11编译的。
TIA!