【问题标题】:Disable "unused function" for specific function name [duplicate]禁用特定函数名称的“未使用函数”[重复]
【发布时间】:2015-04-28 10:03:05
【问题描述】:

我正在编译带有“将警告视为错误”的项目。

问题是,我需要从这里增加类​​型列表:

https://stackoverflow.com/a/24092000/508023

GCC 正确地抱怨一组声明的静态函数既没有定义也没有使用。我不想完全禁用此诊断。相反,我只想为具有特定名称的函数禁用它。有这种可能吗?也许一些属性?还是编译选项?

澄清:我不需要为指定的文件禁用警告。我需要为特定功能禁用它。

编辑:我能够通过使用基于 ADL 的技巧来解决我的问题。所以问题不再是实际的了。

【问题讨论】:

  • 不完全是。我正在寻找一种方法,不要只针对具有特定名称的函数而不是完全针对文件的其余部分发出“未使用的函数”警告。

标签: c++ gcc gcc-warning


【解决方案1】:

最好使用__attribute__((unused)) GCC 扩展来完成,如the code below

namespace {
    void f() __attribute__((unused));
    void g();

    void f() {}
    void g() {}
}

int main() {/*f(); g();*/ return 0;}

【讨论】:

    【解决方案2】:

    在 C++17 中,您可以使用 [[maybe_unused]] 声明您的函数:

    [[maybe_unused]] void foo (int, int);
    

    来源:https://stackoverflow.com/a/41551608/81614

    【讨论】:

      猜你喜欢
      • 2018-10-29
      • 1970-01-01
      • 2021-05-09
      • 2013-11-14
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      相关资源
      最近更新 更多