即使我重载=运算符,也无法生成赋值运算符

jma*_*erx 5 c++ warnings visual-studio-2008

我的课程是多态的,不应该被用来做任何事情.它有一个Font&类型的成员,因此编译器不能生成=运算符.所以我刚刚创建了赋值和复制构造函数的虚拟实现,将它们放在类的私有中,但它仍然警告我,无法生成赋值运算符.我怎么能摆脱这个警告?

谢谢

警告9警告C4512:'AguiWidget':无法生成赋值运算符c:\ users\josh\documents\visual studio 2008\projects\agui\alleg_5\agui\aguiwidget.hpp 250

cas*_*nca 9

编译器警告您的赋值运算符是您自己的类的赋值运算符.你现在拥有的是:

AguiWidget& operator=(const AguiFont &tmp);
Run Code Online (Sandbox Code Playgroud)

你需要的是:

AguiWidget& operator=(const AguiWidget &tmp);
Run Code Online (Sandbox Code Playgroud)