Cib*_*i R 0 c c++ c-preprocessor
我想实现如下所示的东西
#define MACRO_X \
MACRO_1 \
MACRO_2 \
#if condition
MACRO_3 \
#endif
MACRO_4 \
Run Code Online (Sandbox Code Playgroud)
您不能将预处理器指令嵌入到宏中。相反,请执行以下操作:
#if condition
#define IF_COND(...) __VA_ARGS__
#else
#define IF_COND(...)
#endif
Run Code Online (Sandbox Code Playgroud)
然后:
#define MACRO_X \
MACRO_1 \
MACRO_2 \
IF_COND( \
MACRO_3 \
) \
MACRO_4 \
Run Code Online (Sandbox Code Playgroud)