中聲明的私有成員遇到此特定方法的問題,不知道如何解決它!我得到的錯誤是上面:無法訪問在類'std :: basic_ios <_Elem,_Traits>'
「錯誤C2248: '的std :: basic_ios < _Elem,_Traits> :: basic_ios':不能 訪問私有成員類 「的std :: basic_ios <聲明_Elem,_Traits>」 C:\ Program Files文件\微軟的Visual Studio的 10.0 \ VC \ \包括ostream的604"
我的方法是:
ostream operator<<(ostream & stream, ProcessClass const & rhs)
{
stream << rhs.name_;
return stream;
}
而且在標題:
friend std::ostream operator<<(std::ostream & stream, ProcessClass const & rhs);
有關如何解決此問題的任何想法?我認爲這是通過引用而不是價值來傳遞的,但我有點困惑!
現在令人困惑的事情是(我不知道我錯過了什麼)是當我c將它掛到上面(我曾嘗試過)然後我得到一個錯誤... 錯誤C2556:'std :: ostream&operator <<(std :: ostream&,const ProcessClass&)':重載函數不同只能通過來自'std :: ostream運算符<<(std :: ostream&,const ProcessClass&)的返回類型'' 注意。我稍微修改了代碼,但是按照上面的代碼進行編譯,錯誤是在編譯時產生的。 – Fids
@Fids:你在班上定義了兩次。你爲什麼定義了兩次? – Nawaz