CWARN.HIDDEN.PARAM 检查器可查找其中局部变量隐藏了参数的实例。
由于程序将始终使用范围中最近的变量,因此局部变量可隐藏其包含的函数的参数,并使这些参数无法访问。发生这种意想不到的行为时,可能产生意外后果。
1 2 3 void foo(int a) { int a = 0; if (a > 3) {...}
void foo(int a) { int a = 0; if (a > 3) {...}
在此示例中,Klocwork 标记了第 2 行,指出局部变量 a 隐藏了函数参数。