自动强制转换为void未使用的变量C++

我正在尝试解决由许多未使用的变量生成的 C++ 项目中的大量警告。例如,考虑这个函数:

void functionOne(int a, int b)
{
    // other stuff and implementations :D
    doSomethingElse();
    runProcedureA();
}

在我的项目中,为了抑制警告,我只是将未使用的变量强制转换为void,因为我无法更改方法签名。

void functionOne(int a, int b)
{
    (void)a;
    (void)b;
    // other stuff and implementations :D
    doSomethingElse();
    runProcedureA();
}

这项技术工作正常,但我有大量的功能需要执行此操作以解决警告问题。有没有办法通过将所有未使用的参数强制转换为void来自动重构所有这些函数?

目前,我正在使用 CLion IDE 和 VSCODE。

回答

一个简单的替代方法是不为参数而不是演员表命名。这样,未使用将被认为是故意的:

void functionOne(int, int)

实现相同目标的另一种方法是:

void functionOne([[maybe_unused]] int a, [[maybe_unused]] int b)

有没有办法自动重构所有这些功能

潜在的 XY 问题:如果您不想收到有关未使用参数的警告,那么禁用警告怎么样?

  • @fborges22 You can keep those and disable the individual warning.

以上是自动强制转换为void未使用的变量C++的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>