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