为什么此代码行正常工作:
BOOST_LOG_SEV(lg,debug) << "tst message";
虽然这个在编译时失败了:
BOOST_LOG_SEV(lg,trivial::severity_level::debug) << "tst message";
失败消息:
Error 20 error C2653: 'trivial' : is not a class or namespace name
我认为 - debug
和trivial::severity_level::debug
都是相同的。如果我在debug
上的Visual Studio中按F12,它会精确到trivial::severity_level::debug
中的trivial.hpp
答案 0 :(得分:0)
看起来您使用了名称空间boost::log::trivial
。
在第二种情况下,您应该指定
boost::log::trivial::debug
,这是debug
的完整路径。
请注意,对于标准C ++ 03代码,您不应该编写severity_level
,因为它是枚举,但是从C ++ 11开始,您可以使用boost::log::trivial::severity_level::debug
,如果你想要的。