0

如果我有这样一个简单的陈述:

#ifndef A(B)
#define A(B) B
#endif

我得到一个编译错误...

error: extra tokens at end of #ifndef directive [-Werror]
 #ifndef A(B)
          ^

但如果我写(说):

#ifndef A
#define A(B) B
#endif

我没有问题 - 为什么可以定义此宏但无法检查它是否未定义?这似乎有些奇怪。

4

0 回答 0