Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Lokalna deklaracja zmiennej ukrywa deklarację o tej samej nazwie w zakresie zewnętrznym. Dodatkowe informacje: Zobacz poprzednią deklarację w lokalizacji.
Uwagi
To ostrzeżenie wskazuje, że dwie deklaracje mają taką samą nazwę w zakresie lokalnym. Nazwa w zakresie zewnętrznym jest ukryta przez deklarację w zakresie wewnętrznym. Każde zamierzone użycie deklaracji zakresu zewnętrznego spowoduje użycie deklaracji lokalnej.
Nazwa analizy kodu: LOCALDECLHIDESLOCAL
Przykład
Następujący kod generuje to ostrzeżenie:
#include <stdlib.h>
#define UPPER_LIMIT 256
int DoSomething( );
int f( )
{
int i = DoSomething( );
if (i > UPPER_LIMIT)
{
int i;
i = rand( );
}
return i;
}
Aby poprawić to ostrzeżenie, użyj innej nazwy zmiennej, jak pokazano w poniższym kodzie:
#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;
}
}
To ostrzeżenie identyfikuje tylko nakładające się zakresy.