当从QMatrix4x4派生时,运算符=不工作

时间:2016-01-06 10:36:31

标签: c++

我正在尝试从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=

似乎我失去了以前在父类中存在的功能。或者为什么作业不再有效?

1 个答案:

答案 0 :(得分:4)

您的派生类可能没有定义自己的operator+()。因此,B+C调用QMatrix4x4::operator+(),返回QMatrix4x4。除非MyMatrix A提供适当的构造函数/赋值运算符,否则无法将其分配给MyMatrix