Aracılığıyla paylaş


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;