Share via


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 ymember_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;