我试图重载运算符<<
const ostream & operator<<(const ostream& out, const animal& rhs){
out << rhs.a;
return out;
}
似乎我得到一个错误,因为我返回一个常量,也因为第一个参数是对 ostream 对象的常量引用。
cout << objectOfAnimal1 << objectOfAnimal2 ;
如果我将返回类型和运算符签名更改为这个,它工作得很好:
ostream & operator<<(ostream& out, const animal& rhs)
最佳答案
你需要:
ostream & operator<<(ostream& out, const animal& rhs)
在您的代码中,您正试图修改一个const
ostream
对象,因此出现错误。
它不应该是 const
。
关于c++ - 运算符重载<<错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10434790/