有错误吗??
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是不可以被赋值的。。。
[解决办法]
当然有错误!!
由于你重载时使用的是值返回作为结果,从而导致无法赋值。
发布时间: 2012-02-09 18:22:27 作者: rapoo
有错误吗??
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是不可以被赋值的。。。
[解决办法]
当然有错误!!
由于你重载时使用的是值返回作为结果,从而导致无法赋值。