在 #if、 #elif 的条件中,由宏展开产生了 defined 表达式,或 defined 表达式格式不正确
C++-Undefined-Behavior-70
示例:
#define DEFINED(x) defined(x)
#if DEFINED(__cplusplus) // Undefined behavior
....
#endif
依据
ISO/IEC 14882:2003 16.1(4)-undefined
ISO/IEC 14882:2011 16.1(4)-undefined