我找到了一些关于SO的现有答案,但实际上我不明白there的所有工作原理。
基本上,我想在if / switch条件下定义一个宏
if (condition)
{
#define SOME_MACRO
}
因此,如果满足某些条件,则将定义一些新的宏。 但是,到目前为止,它仍然只定义了宏。我知道这不是应该怎么做,但是对此没有一般的解释。
答案 0 :(得分:1)
您不能像这样混合使用宏和代码。宏是在编译代码之前全部处理的,它只是保存键入(使代码更易于阅读)的便利功能。
例如,有一个用于条件的宏语法,您可以这样做:
#if Condition
#define X
#endif
有条件地定义宏。