【发布时间】:2012-12-16 23:26:12
【问题描述】:
我在全局标头中有以下代码,因此我可以在编译时做出决定:
enum {
MyStyleA,
MyStyleB,
MyStyleC
};
#define STYLE MyStyleB
在各种源文件中,我包含此标头并执行以下操作:
#if STYLE == MyStyleC
doSomething();
#endif
问题是,doSomething() 肯定会被执行,即使我在标题中将STYLE 定义为MyStyleB!
知道这里出了什么问题吗?
(我承认我不是 C 预处理器专家。)
【问题讨论】:
标签: c enums c-preprocessor