例子代码如下:
namespace A
{
class myException : public std::exception
{
public:
friend std::ostream& operator<<(std::ostream& out,
const myException& e);
};
} // end of namespace A
// 实现过程
std::ostream& operator<<(std::ostream& out, const myException& e)
{
return out<<e.m_msg;
}
原因:友元函数的实现中不需要添加类作为修饰词,但是必须添加名称空间作用域。
std::ostream& A::operator<<(std::ostream& out, const myException& e)
{
return out<<e.m_msg;
}