1. 程式人生 > >operator <<”不明確

operator <<”不明確

 

在宣告過載的輸出運算子<< 時,如果宣告時的返回型別是std::ostream,而不是std::ostream&,但是定義的時候又加了引用的話,那麼就會報“operator <<”不明確”這個錯誤

例如:

類內宣告時:
template<typename ElementType>
friend std::ostream operator << (std::ostream& out, const MySqQueue<ElementType>& item);

類外定義時:

/*輸出友元函式*/
template<typename ElementType>
std::ostream&

operator << (std::ostream& out, const MySqQueue<ElementType>& item);