【问题标题】:How to clear "warning: declaration does not declare anything [-fpermissive]"如何清除“警告:声明未声明任何内容 [-fpermissive]”
【发布时间】:2013-12-25 05:46:35
【问题描述】:

当我用 GCC 编译一个程序时,它会显示 “警告:声明没有声明任何东西 [-fpermissive]”

有问题的代码如下:

typedef int BOOL;

如何清除警告?

【问题讨论】:

  • 你用什么命令编译?你包含了哪些头文件?
  • 这是我从网上下载的一个巨大的程序。所以我无法解释清楚。我以为这是一个笼统的问题。如果不是,对不起。
  • BOOL 可能已经定义为宏。
  • 也许 BOOL 被声明为诸如 unsignedshort 之类的宏,因此您的代码现在代表 typedef int short,它根本没有任何别名作为短整数。谁知道呢。
  • 这是什么版本的 gcc?我尝试过的任何版本都没有在 C 模式下接受 -fpermissive(也没有在任何警告消息中提及它)。也许您实际上是在 C++ 模式下调用了编译器。

标签: c gcc warnings


【解决方案1】:

您可以尝试以下方法。对于一个收到警告的工会,我也有类似的工作。

typedef int BOOL;
...

BOOL unused;
(void)unused;

(void)unused; 避免了随后的未使用变量警告。它可在所有编译器中移植。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2014-01-20
    • 2019-08-06
    • 2015-08-13
    • 1970-01-01
    • 2011-02-21
    相关资源
    最近更新 更多