【发布时间】:2020-04-30 13:50:30
【问题描述】:
我在 C++ 中使用宏来切换是否编译日志记录:
#define MAYBE_LOG(msg)
#ifdef PRINT_MSGS
ALWAYS_LOG(msg)
#endif
#define 怎么知道结尾在哪里? #endif 指的是#ifdef,而不是#define。
【问题讨论】:
-
假设意图是定义一个三行宏,这里有两个问题:首先你需要在每行的末尾加上反斜杠,但最后一行;其次,宏内部不允许使用预处理器指令。
标签: c++ preprocessor preprocessor-directive