'variable' のローカル宣言では、外部スコープ内の同じ名前の宣言が非表示になります。 追加情報: 「location」の前の宣言を参照してください。
解説
この警告は、2 つの宣言がローカル スコープで同じ名前を持つことを示します。 外部スコープの名前は、内部スコープの宣言によって非表示になります。 外部スコープ宣言を意図して使用すると、ローカル宣言が使用されます。
コード分析名: LOCALDECLHIDESLOCAL
例
この警告が発生するコード例を次に示します。
#include <stdlib.h>
#define UPPER_LIMIT 256
int DoSomething( );
int f( )
{
int i = DoSomething( );
if (i > UPPER_LIMIT)
{
int i;
i = rand( );
}
return i;
}
この警告を修正するには、次のコードに示すように、別の変数名を使用します。
#include <stdlib.h>
#define UPPER_LIMIT 256
int DoSomething( );
int f ( )
{
int i = DoSomething( );
if (i > UPPER_LIMIT)
{
int j = rand( );
return j;
}
else
{
return i;
}
}
この警告は、スコープの重複のみを識別します。