首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >警告:#endif指令末尾有额外的标记

警告:#endif指令末尾有额外的标记
EN

Stack Overflow用户
提问于 2011-09-19 15:59:54
回答 4查看 47.9K关注 0票数 25

我正在使用VxWorks6.8 C++编译器编译一个相当大的项目。我收到了以下警告

警告:#endif指令末尾有额外的标记

代码语言:javascript
复制
#ifndef _OM_NO_IOSTREAM
#ifdef WIN32
#ifndef USE_IOSTREAM
#define USE_IOSTREAM
#endif USE_IOSTREAM
#endif WIN32

我收到了很多这样的警告。

  1. 为什么我会收到这些警告?从C++标准的角度来看?
  2. 编译器对此发出警告的充分原因是什么?
  3. 修复此问题的最佳方法是什么?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-19 16:01:54

应该是:

代码语言:javascript
复制
#endif // USE_IOSTREAM
#endif // WIN32

endif不接受任何参数。这样的注释仅用于可读性。

编辑:

你错过了结束时关闭#endif // _OM_NO_IOSTREAM的机会

票数 39
EN

Stack Overflow用户

发布于 2011-09-19 16:03:04

因为在#endif之后你不能有任何东西

此外,您还缺少一个endif。

代码语言:javascript
复制
#ifndef _OM_NO_IOSTREAM
  #ifdef WIN32
    #ifndef USE_IOSTREAM
      #define USE_IOSTREAM
    #endif
  #endif
#endif
票数 17
EN

Stack Overflow用户

发布于 2011-09-19 16:02:09

代码语言:javascript
复制
#endif USE_IOSTREAM
#endif WIN32
    // ^^^^^^^^^^^^ Compiler is warning about these extra tokens after endif directive.

#endif之后不需要任何标识符。抑制这些警告的方法是删除它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7467931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档