#elif定义没有括号

时间:2011-03-07 18:50:27

标签: c++ visual-studio-2005 c-preprocessor

使用VS2005和BLAH_BLAH定义以下预处理器条件为false:

#elif defined BLAH_BLAH

但如果我将其更改为

#elif defined(BLAH_BLAH)

这是真的。

为什么括号在这里有所作为?

2 个答案:

答案 0 :(得分:7)

除非将BLAH_BLAH定义为有趣的事情,否则它应该没有任何区别。

答案 1 :(得分:1)

头文件是使用linux编辑器创建的,并使用“Add Existing”添加到项目中,在VS编辑器中创建文件后,它的计算结果为true。必须是LF / CR问题吗?