重載友元運算子
當嘗試重載
在提供的程式碼中,
<code class="cpp">friend ostream& operator<<(ostream&, Pair<T,U>&);</code>
但是,編譯器建議加上函數名稱的括號,表示它應該被聲明為模板函數。正確的語法是:
<code class="cpp">friend ostream& operator<< <> (ostream&, Pair<T,U>&);</code>
這聲明了
記住,模板函數宣告也應該放在 Pair 類別模板定義之前,以確保編譯器在解析友元宣告時會辨識模板函數。具有正確友元宣告和模板函數宣告的更正後的程式碼:
<code class="cpp">template <class T, class U> class Pair; template <class T, class U> ostream& operator<< <> (ostream&, Pair<T,U>&); // Pair template class definition...</code>
以上是如何重載好友運算子 `的詳細內容。更多資訊請關注PHP中文網其他相關文章!