[英]operator overloading<< error
我试图重载运算符<<
const ostream & operator<<(const ostream& out, const animal& rhs){
out << rhs.a;
return out;
}
似乎我得到一个错误,因为我返回一个const,也因为第一个参数是对一个ostream对象的const引用。
cout << objectOfAnimal1 << objectOfAnimal2 ;
如果我将返回类型和操作符签名更改为以下内容,它可以正常工作:
ostream & operator<<(ostream& out, const animal& rhs)
你需要:
ostream & operator<<(ostream& out, const animal& rhs)
在您的代码中您正在尝试修改const
ostream
对象,因此您会收到错误。
它不应该是const
。
ostream & operator<<(ostream& out, const animal& rhs){
out << rhs.a;
return out;
}
你已经解释了问题的可能原因,你真的没有尝试过吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.