解决:std::ostream operator<< should have been declared inside 'xxx'

用VS的NMAKE构建,不会报错,但是用GNU MAKE构建,就会报错。(尝试删除Toast.h中第24行的声明)

因此在遇到类似的情况的时候,记得不仅class里面要有friend声明,namespace里面也要有声明

点此下载demo

原文地址:https://www.cnblogs.com/qrlozte/p/4260410.html