其他分享
首页 > 其他分享> > 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);

标签:输出,明确,运算符,item,ostream,operator,声明
来源: https://blog.51cto.com/u_14201949/2832053