Derleyici Uyarısı (düzey 4) C4458
'identifier' bildirimi sınıf üyesini gizler
Yerel kapsamda tanımlayıcı bildirimi, sınıf kapsamında aynı adlı tanımlayıcının bildirimini gizler. Bu uyarı, bu kapsamdaki tanımlayıcıya yapılan başvuruların amacınız olabilecek veya olmayabilecek sınıf üyesi sürümüne değil yerel olarak bildirilen sürüme çözümlendiğini bilmenizi sağlar. Bu sorunu çözmek için, yerel değişkenlere sınıf üyesi adlarıyla çakışmayan adlar vermenizi öneririz.
Örnek
Parametresi x
ve içindeki yerel değişken y
member_fn
sınıfındaki veri üyeleriyle aynı adlara sahip olduğundan aşağıdaki örnek C4458 oluşturur. Bu sorunu çözmek için parametreler ve yerel değişkenler için farklı adlar kullanın.
// C4458_hide.cpp
// compile with: cl /W4 /c C4458_hide.cpp
struct S {
int x;
float y;
void member_fn(long x) { // C4458
double y; // C4458
y = x;
// To fix this issue, change the parameter name x
// and local name y to something that does not
// conflict with the data member names.
}
} s;