[英]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.