将 BOOST_LOG_SEV 宏包装到另一个宏
Wraping BOOST_LOG_SEV macro to another macro
正在尝试将 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 '('
哪里出了问题,如何正确包装?
你只需要在宏参数之前删除 space,即:
#define LOG_SS_BOOST(value) do { BOOST_LOG_SEV (lg,boost::log::trivial::debug)<<value; } while (0)
正在尝试将 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 '('
哪里出了问题,如何正确包装?
你只需要在宏参数之前删除 space,即:
#define LOG_SS_BOOST(value) do { BOOST_LOG_SEV (lg,boost::log::trivial::debug)<<value; } while (0)