以下代码与boost 1.57一样正常工作:
#include <iostream>
#include <boost/log/trivial.hpp>
struct Foo
{
int d=1;
};
std::ostream& operator<<(std::ostream& out, const Foo& foo)
{
out << "Foo: " << foo.d;
return out;
}
int main()
{
BOOST_LOG_TRIVIAL(info) << Foo();
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
使用boost 1.59相同的代码失败.第一个gcc错误消息是:
错误:'operator <<'不匹配(操作数类型为'boost :: log :: v2s_mt_posix :: basic_record_ostream'和'Foo')
文档和发行说明均未记录需要更改的内容.