2017-01-21 17:39发布
考虑如下代码
class Foo { public: int x, y; }; Foo operator*(const Foo &lhs, const Foo &rhs) { Foo ret; return ret; } int main() { Foo a, b, c; (a * b) = c; return 0; }
operator*(a, b)返回的应该是一个右值,为什么可以被赋值呢??编译器没有提示错误。
我记得右值也可以是被赋值的.如果函数返回的右值是一个引用呢?
最多设置5个标签!
我记得右值也可以是被赋值的.如果函数返回的右值是一个引用呢?
一周热门 更多>