Compilerwarnung (Ebene 4) C4457
Die Deklaration von "Identifier" blendet den Funktionsparameter aus.
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 x
member_fn
dieselben Namen aufweisen. 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;
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für