在工作中,有时候需要编译现有的代码,在经过千难万险调试后编译,会出现恼人的
expected identifier before ‘(’ token提示。
比如在一个枚举类型中,会告诉你某行有这种错误。这是相当让人摸不到头脑的。
又或者,在一个宏定义语句中出现这种错误。
一般来说,出现这种情况,是语句中有些定义的名字发生了冲突。简单的就是改名处理。
如果确定是宏定义的名称冲突了,有个更优雅的解决方案。
#ifdef MACRONAME
#undef MACRONAME
#endif
#define MACRONAME .....