Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
deklaration av "identifierare" döljer tidigare lokal deklaration
Anmärkningar
Deklarationen av identifierare i det lokala omfånget döljer deklarationen för den tidigare lokala deklarationen med samma namn. Den här varningen låter dig veta att referenser till identifierare i lokalt omfång löser upp sig till den lokalt deklarerade versionen, inte den tidigare deklarerade lokala versionen, vilket kanske inte är din avsikt. För att åtgärda det här problemet rekommenderar vi att du ger namn på lokala variabler som inte är i konflikt med andra lokala namn.
Example
I följande exempel genereras C4456 eftersom loopkontrollvariabeln int x och den lokala variabeln double x i member_fn har samma namn. Åtgärda problemet genom att använda olika namn för de lokala variablerna.
// C4456_hide.cpp
// compile with: cl /W4 /c C4456_hide.cpp
struct S {
void member_fn(unsigned u) {
double x = 0;
for (int x = 0; x < 10; ++x) { // C4456
u += x; // uses local int x
}
x += u; // uses local double x
}
} s;