c++ - 自动转换为无效未使用的变量 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 问题:如果您不想收到有关未使用参数的警告,那么禁用警告如何?
推荐阅读
- html - 在 SpringEL 表达式中将字符串转换为 Long 以进行选择
- laravel - 如何生成动态 Laravel Nova 选择字段?
- android - 在 viewModelScope 中设置后 LiveData 值为 null
- java - Minecraft-moding:Mod 仅在 IDE 中有效,但在导出为 jar 时无效
- intellij-idea - Intellij 插件开发:toolWindow 扩展在不同项目窗口中打开时为空白
- html - 增加html中文本框的大小
- sql - 此 SELECT 的最佳索引是什么?
- java - 为什么我的 java 代码在使用 SmbFileInputStream 和 BufferedOutputStream 时进入无限循环
- javascript - 如何干净地设置 Angular 2+ 组件,以便它们可以用作弹性项目?
- iis-8 - 垃圾不断插入 IIS 反向代理 URL