有异常吗?

有错误吗??class Matrix{......}Matrix operator+(const Matrix&,const Matrix&){ .....}Matrix a,b,c,dd

有错误吗??
class Matrix
{
 ......
}
Matrix operator+(const Matrix&,const Matrix&)
{ .....}
Matrix a,b,c,d;
d=a+(b+c);
(b+c)=(a+b);\\ 这里有错误吗??
(说明 有重载操作符。)

[解决办法]
有,因为(b + c)产生的是一个rvalue,rvalue是不可以被赋值的。。。
[解决办法]
当然有错误!!
由于你重载时使用的是值返回作为结果,从而导致无法赋值。