bugprone-argument-comment¶
检查参数注释是否与参数名称匹配。
该检查理解放置在参数之前的 /*parameter_name=*/
格式的参数注释。
void f(bool foo);
...
f(/*bar=*/true);
// warning: argument name 'bar' in comment does not match parameter name 'foo'
该检查尝试检测拼写错误并为其建议自动修复。
选项¶
- StrictMode¶
当为 false(默认值)时,检查将忽略比较名称时的前导和尾随下划线以及大小写 - 否则它们会被考虑在内。
- IgnoreSingleArgument¶
当为 true 时,检查将忽略单个参数。
- CommentBoolLiterals¶
当为 true 时,检查将在布尔文字参数之前添加
/*ParameterName=*/
格式的参数注释。
之前
void foo(bool TurnKey, bool PressButton);
foo(true, false);
之后
void foo(bool TurnKey, bool PressButton);
foo(/*TurnKey=*/true, /*PressButton=*/false);
- CommentIntegerLiterals¶
当为 true 时,检查将在整数文字参数之前添加
/*ParameterName=*/
格式的参数注释。
之前
void foo(int MeaningOfLife);
foo(42);
之后
void foo(int MeaningOfLife);
foo(/*MeaningOfLife=*/42);
- CommentFloatLiterals¶
当为 true 时,检查将在浮点数/双精度文字参数之前添加
/*ParameterName=*/
格式的参数注释。
之前
void foo(float Pi);
foo(3.14159);
之后
void foo(float Pi);
foo(/*Pi=*/3.14159);
- CommentStringLiterals¶
当为 true 时,检查将在字符串文字参数之前添加
/*ParameterName=*/
格式的参数注释。
之前
void foo(const char *String);
void foo(const wchar_t *WideString);
foo("Hello World");
foo(L"Hello World");
之后
void foo(const char *String);
void foo(const wchar_t *WideString);
foo(/*String=*/"Hello World");
foo(/*WideString=*/L"Hello World");
- CommentCharacterLiterals¶
当为 true 时,检查将在字符文字参数之前添加
/*ParameterName=*/
格式的参数注释。
之前
void foo(char *Character);
foo('A');
之后
void foo(char *Character);
foo(/*Character=*/'A');
- CommentUserDefinedLiterals¶
当为 true 时,检查将在用户定义的文字参数之前添加
/*ParameterName=*/
格式的参数注释。
之前
void foo(double Distance);
double operator"" _km(long double);
foo(402.0_km);
之后
void foo(double Distance);
double operator"" _km(long double);
foo(/*Distance=*/402.0_km);
- CommentNullPtrs¶
当为 true 时,检查将在 nullptr 文字参数之前添加
/*ParameterName=*/
格式的参数注释。
之前
void foo(A* Value);
foo(nullptr);
之后
void foo(A* Value);
foo(/*Value=*/nullptr);