问题描述
我正在尝试解决由许多未使用的变量生成的 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 问题:如果您不想收到有关未使用参数的警告,那么禁用警告如何?