调用函数时,一个或多个参数类型不兼容¶
ID: cpp/mistyped-function-arguments
Kind: problem
Security severity:
Severity: warning
Precision: medium
Tags:
- correctness
- maintainability
Query suites:
- cpp-security-and-quality.qls
调用函数时,至少有一个参数的类型与被调用函数相应参数的类型不兼容。这可能导致被调用函数的行为不可预测。
这可能表明调用了错误的函数,或者调用函数的签名(参数列表和参数类型)未被作者所知。
建议¶
使用正确的参数类型调用函数。在某些情况下,只需将参数显式强制转换为所需的(参数)类型即可。
示例¶
void three_arguments(int x, int y, int z);
void calls() {
int three = 3;
three_arguments(1, 2, three); // GOOD
three_arguments(1, 2, &three); // BAD
}
参考¶
SEI CERT C 编码标准: DCL20-C. 显式指定 void,当函数不接受任何参数时