Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Místní deklarace proměnné skryje deklaraci stejného názvu ve vnějším oboru. Další informace: Viz předchozí deklarace v umístění.
Poznámky
Toto upozornění označuje, že dvě deklarace mají stejný název v místním oboru. Název ve vnějším oboru je skrytý deklarací ve vnitřním oboru. Jakékoli zamýšlené použití deklarace vnějšího oboru způsobí použití místní deklarace.
Název analýzy kódu: LOCALDECLHIDESLOCAL
Příklad
Následující kód vygeneruje toto upozornění:
#include <stdlib.h>
#define UPPER_LIMIT 256
int DoSomething( );
int f( )
{
int i = DoSomething( );
if (i > UPPER_LIMIT)
{
int i;
i = rand( );
}
return i;
}
Chcete-li toto upozornění opravit, použijte jiný název proměnné, jak je znázorněno v následujícím kódu:
#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;
}
}
Toto upozornění identifikuje pouze překrývající se obor.