自动强制转换为 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 问题:如果您不想收到有关未使用参数的警告,那么禁用警告如何?