将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 '('
哪里出错了,如何正确包装?
你只需要删除宏参数前的空格,即:
#define LOG_SS_BOOST(value) do { BOOST_LOG_SEV (lg,boost::log::trivial::debug)<<value; } while (0)
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 运行同一解决方案的另一个项目的项目
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 将 N-arg 函数包装到另一个函数中
- 如何包装一个函数以适应另一个函数的所需类型
- 如何在 C 中包装C++具有参数的类方法或返回另一个C++类的实例?
- Cython-包装CPP类,汇总另一个
- 当包含在另一个向量中时,如何使用矢量包装程序类
- 使用SWIG包装C 类,该类调用另一个对象成员函数
- 从 Win32 包装器 WndProc 调用另一个类中的函数
- 将 c++11 std::function 包装在另一个 std::function 中
- 如何在Cython中从另一个包装对象返回包装的c++对象
- JNI包装另一个库
- 如何包装另一个类(c++)
- 自定义迭代器包装另一个迭代器:迭代到底层的end迭代器而不进行检查
- 你能把一个异常继承层次结构包装到另一个吗?——或者,另一种干净的处理方式
- 将BOOST_LOG_SEV宏包装到另一个宏
- 为另一个程序包装代码/类
- Cython包装使用另一个库的类