我有一个类存储对其父项的引用,该引用在构造函数中传递.如果我尝试复制一个实例,我得到一个错误“错误C2582:’operator =’函数不可用”可能下降到引用是不可分配的.
有没有办法解决这个问题,还是将变量改为指针而不是引用?
例如(过度简化,但我认为有要点):
class MyClass { public: MyClass(OtherClass &parent) : parent(parent) {} private: OtherClass &parent; }; MyClass obj(*this); . . . obj = MyClass(*this);
解决方法
是的,如果您需要支持作业,使其成为一个指针而不是参考,这几乎是您唯一的选择.