C6246
upozornění C6246: místní prohlášení <variable> Skryje prohlášení v oboru vnější stejný název.Další informace: Viz předchozí prohlášení na <location>.
Toto upozornění indikuje, že dvě prohlášení se stejným názvem v místním oboru.Název na vnější obor je skrytá v prohlášení na vnitřní oboru.Použití místní prohlášení nebude jakékoli zamýšlené použití vnější obor prohlášení.
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;
}
Opravit toto upozornění, použijte jiný název proměnné jak je ukázá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í pouze identifikuje obor překrytí.