boost :: log 1.66.0。参数从升压转换器的教程set_filter是错误的

我要去通升压使用Boost 1.66.0和VS 2017 ::登录库教程获取的问题,一开始:boost :: log 1.66.0。参数从升压转换器的教程set_filter是错误的

void init() 

{

logging::core::get()->set_filter

(

logging::trivial::severity >= logging::trivial::info

);

}

错误: 无运算符“> =”匹配这些操作数... 它看起来合法 - 第一个操作数是没有定义任何比较操作符的结构(包括公共基类,我错过了一些免费函数吗?第二个操作数是枚举。
我的问题是它是如何工作的?

回答:

示例代码没有错,您可以测试它是否编译并运行,有关完整的代码,请参阅libs/log/example/doc/tutorial_trivial_flt.cpp

过滤器表达式的第一个参数是一个关键字,也是一个Boost.Phoenix终端。它使过滤器表达式构建一个Boost.Phoenix函数对象,而不是立即评估比较。比较运算符因此取自Boost.Phoenix(boost/phoenix/operator/comparison.hpp,其通过boost/phoenix/operator.hpp包括boost/log/expressions.hpp)。

以上是 boost :: log 1.66.0。参数从升压转换器的教程set_filter是错误的 的全部内容, 来源链接: utcz.com/qa/265788.html

回到顶部