这是c程序,我用到了
#ifdef 0
...
#endif
And I get this error
error: macro names must be identifiers
意思是不能用0,必须用一个确定的标识符。
就像这样
#ifdef NO_CHANCE_THAT_THIS_SYMBOL_WILL_EVER_EXIST
: : :
#endif
改成#if 0
#endif
就好了。
=====================
参考
http://stackoverflow.com/questions/426736/error-macro-names-must-be-identifiers-using-ifdef-0
The #ifdef directive is used to check if a pre-processor symbol is defined. It's possible that your C compiler allows pre-processor symbols that start with a digit (but unlikely since it would seriously screw up the parser) and your C++ compiler doesn't.
The correct form for using the pre-processor to block out code is:
#if 0
: : :
#endif
or
#ifdef NO_CHANCE_THAT_THIS_SYMBOL_WILL_EVER_EXIST
: : :
#endif
本文介绍了如何正确使用C预处理器来避免宏定义错误,并提供了解决方案。
1万+

被折叠的 条评论
为什么被折叠?



