我正在使用VxWorks6.8 C++编译器编译一个相当大的项目。我收到了以下警告
警告:#endif指令末尾有额外的标记
#ifndef _OM_NO_IOSTREAM
#ifdef WIN32
#ifndef USE_IOSTREAM
#define USE_IOSTREAM
#endif USE_IOSTREAM
#endif WIN32
我收到了很多这样的警告。
谢谢
发布于 2011-09-19 16:01:54
应该是:
#endif // USE_IOSTREAM
#endif // WIN32
endif
不接受任何参数。这样的注释仅用于可读性。
编辑:
你错过了结束时关闭#endif // _OM_NO_IOSTREAM
的机会
发布于 2011-09-19 16:03:04
因为在#endif
之后你不能有任何东西
此外,您还缺少一个endif。
#ifndef _OM_NO_IOSTREAM
#ifdef WIN32
#ifndef USE_IOSTREAM
#define USE_IOSTREAM
#endif
#endif
#endif
发布于 2011-09-19 16:02:09
#endif USE_IOSTREAM
#endif WIN32
// ^^^^^^^^^^^^ Compiler is warning about these extra tokens after endif directive.
在#endif
之后不需要任何标识符。抑制这些警告的方法是删除它们。
https://stackoverflow.com/questions/7467931
复制相似问题