Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die Deklaration von "Identifier" blendet den Funktionsparameter aus.
Bemerkungen
Die Deklaration des Bezeichners im lokalen Bereich blendet die Deklaration des identisch benannten Funktionsparameters aus. Diese Warnung informiert Sie darüber, dass Verweise auf bezeichner im lokalen Bereich auf die lokal deklarierte Version aufgelöst werden, nicht den Parameter, der möglicherweise Ihre Absicht ist oder nicht. Um dieses Problem zu beheben, empfehlen wir, lokale Variablennamen zu geben, die nicht mit Parameternamen in Konflikt geraten.
Beispiel
Im folgenden Beispiel wird C4457 generiert, da der Parameter x und die lokale Variable xmember_fn dieselben Namen haben. Verwenden Sie zum Beheben dieses Problems unterschiedliche Namen für die Parameter und lokalen Variablen.
// C4457_hide.cpp
// compile with: cl /W4 /c C4457_hide.cpp
struct S {
void member_fn(unsigned x) {
double a = 0;
for (int x = 0; x < 10; ++x) { // C4457
a += x; // uses local x
}
a += x; // uses parameter x
}
} s;