读书人

有异常吗?

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

读书人网 >C++

热点推荐