我正在尝试从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=
似乎我失去了以前在父类中存在的功能。或者为什么作业不再有效?
答案 0 :(得分:4)
您的派生类可能没有定义自己的operator+()
。因此,B+C
调用QMatrix4x4::operator+()
,返回QMatrix4x4
。除非MyMatrix A
提供适当的构造函数/赋值运算符,否则无法将其分配给MyMatrix
。