readability-inconsistent-declaration-parameter-name¶
查找参数名称不同的函数声明。
示例
// in foo.hpp:
void foo(int a, int b, int c);
// in foo.cpp:
void foo(int d, int e, int f); // warning
此检查应该有助于在大型项目中强制执行一致性,在大型项目中,函数定义通常会重构,更改参数名称,但头文件中的声明不会更新。通过此检查,我们可以轻松地找到并纠正这些不一致,保持声明和定义始终同步。
匿名参数是允许的,并且在比较函数声明时不会考虑在内,例如
void foo(int a);
void foo(int); // no warning
一个名称也可以是另一个名称的不区分大小写的前缀/后缀
void foo(int count);
void foo(int count_input) { // no warning
int count = adjustCount(count_input);
}
为了帮助重构,在某些情况下会生成修复建议,以将参数名称与单个命名约定对齐。这是假设函数定义是最新的版本,因为它直接在其主体中引用参数名称。示例
void foo(int a); // warning and fix-it hint (replace "a" to "b")
int foo(int b) { return b + 2; } // definition with use of "b"
在多个重新声明或函数模板特化的情况下,将针对每个与定义或在翻译单元中看到的第一个声明不一致的重新声明或特化发出警告。
- IgnoreMacros¶
如果此选项设置为 true(默认值为 true),则检查不会针对宏内声明的名称发出警告。
- Strict¶
如果此选项设置为 true(默认值为 false),则名称必须完全匹配(或不存在)。