BOOST_LOG_SEV中的严重级别

时间:2015-07-31 09:23:56

标签: c++ visual-c++ boost metaprogramming

为什么此代码行正常工作:

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

我认为 - debugtrivial::severity_level::debug都是相同的。如果我在debug上的Visual Studio中按F12,它会精确到trivial::severity_level::debug中的trivial.hpp

1 个答案:

答案 0 :(得分:0)

看起来您使用了名称空间boost::log::trivial。 在第二种情况下,您应该指定 boost::log::trivial::debug,这是debug的完整路径。

请注意,对于标准C ++ 03代码,您不应该编写severity_level,因为它是枚举,但是从C ++ 11开始,您可以使用boost::log::trivial::severity_level::debug,如果你想要的。