我想在我的一個類中超載運算符< <。 簽名是這樣的:C++ - 必須在頭文件中定義朋友函數嗎?
friend std::ostream& operator<<(std::ostream& os, const Annuaire& obj)
當我試圖把它定義在.cpp文件中,它說的是,運營商< <正是以1種說法,然而,當我在.H定義它,它編譯/工作正常。
這是我在.cpp文件中定義它:
std::ostream& Annuaire::operator<<(std::ostream& os, const Annuaire& obj){ // ... }
是否有任何與友元函數需要在頭文件中定義?
你必須得到'ostream'和'istream'權利...... –
是的,你的朋友是istream和一個在CPP是ostream的,如果是故意的,你將需要2項朋友聲明和2所定義,如果沒有的話,根據你想要輸入還是輸出流來修復一個或另一個 –
謝謝,無論如何,這是一個複製粘貼錯誤。 – Pacane