Derleyici Uyarısı (düzey 4) C4457
'identifier' bildirimi işlev parametresini gizler
Yerel kapsamda tanımlayıcı bildirimi, aynı adlı işlev parametresinin bildirimini gizler. Bu uyarı, yerel kapsamdaki tanımlayıcıya yapılan başvuruların, amacınız olabilecek veya olmayan parametreye değil, yerel olarak bildirilen sürüme çözümlendiğini bilmenizi sağlar. Bu sorunu çözmek için yerel değişkenlere parametre adlarıyla çakışmayan adlar vermenizi öneririz.
Örnek
Parametresi ve içindeki yerel değişken x
member_fn
aynı adlara sahip olduğundan x
aşağıdaki örnek C4457 oluşturur. Bu sorunu çözmek için parametreler ve yerel değişkenler için farklı adlar kullanın.
// 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;