不要在.h文件里面写,在一个.cpp文件中写即可,问题的关键在于如果在.h文件中写,所有#include了该.h文件的cpp都会编译一个operator<<函数,造成多次定义,所以保证operator<<函数编译时只出现一次就行,所以选择一个.cpp文件中实现operator<<函数就可以
multiple definition of operator<<(std::ostream&, Error const&)解决输出运算符重定义问题
博客主要解决C++中输出运算符重定义问题。指出不要在.h文件里写输出运算符函数,因为所有包含该.h文件的cpp都会编译此函数,造成多次定义。应在一个.cpp文件中实现该函数,保证编译时只出现一次。
1234

被折叠的 条评论
为什么被折叠?



