我试图从 QMatrix4x4 派生一个类来添加一些功能
class MyMatrix: public QMatrix4x4{};
一旦我这样做,我会收到以下错误消息
QMatrix4x4 a, b, c;
MyMatrix A, B, C;
a=a+b; //works
A=B+C; //error: no match for operator=
看来我正在失去以前存在于父类中的功能。或者为什么任务不再起作用?
最佳答案
您的派生类可能没有定义自己的 operator+()
。因此, B+C
调用 QMatrix4x4::operator+()
,它返回一个 QMatrix4x4
。除非 MyMatrix A
提供适当的构造函数/赋值运算符,否则您不能将其分配给 MyMatrix
。
关于c++ - 运算符 = 从 QMatrix4x4 派生时不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34630980/