#381-D: extra ";" ignored
在这种情况下,我的编译器会发出警告:
我定义了一个结构,如下所示
struct example_s
{
u8_t foo;
SOME_MACRO(bar);
};
该宏SOME_MACRO(x)
执行以下操作:
#if defined(SYSTEM_A)
#define SOME_MACRO(x) u16_t x##something
#else
#define SOME_MACRO(x) /* nothing */
#endif
当然,警告是正确的,什么时候SYSTEM_A
没有定义。仅仅因为我现在;
在结构中有一个。但是有人知道正确避免它的方法吗?我不想通过将 移动;
到宏中来打破典型的 C 风格。