[英]Trouble accessing private members with friend function in c++ operator<< overload
所以我想重載<<操作符。 從我可以看到的所有來源看,語法都是正確的,但是eclipse不喜歡它。
我遇到了幾個錯誤: 多項式:: PrivateStruct *多項式:: head是私有的
並且: struct Polynomial :: PrivateStruct是私有的。
我想將此結構保持私有狀態以隱藏實現細節。
std::ostream& operator<<(std::ostream& outputStream, Polynomial& rhs)
{
Polynomial::PrivateStruct *p = rhs.head;
//implementation details
return outputStream;
}
和聲明:
friend std::ostream& operator<<(std::ostream& outputStream, const Polynomial& rhs);
聲明和定義不匹配-一個引用const
,另一個引用非const。 匹配它們,您就可以開始了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.