尝试将BOOST_LOG_SEV宏包装到LOG_SS_BOOST:
#define LOG_SS_BOOST (value) do { BOOST_LOG_SEV (lg,boost::log::trivial::debug)<<value; } while (0)
但编译时出错:
Error 58 error C2065: 'value' : undeclared identifier
Error 59 error C2143: syntax error : missing ';' before 'do'
Error 60 error C2065: 'value' : undeclared identifier
Error 61 error C2143: syntax error : missing ';' before '('
有什么问题以及如何以正确的方式包装它?
答案 0 :(得分:0)
你应该在宏参数之前删除空格,即:
#define LOG_SS_BOOST(value) do { BOOST_LOG_SEV (lg,boost::log::trivial::debug)<<value; } while (0)