Share via


Upozornění kompilátoru (úroveň 4) C4457

deklarace identifikátoru skryje parametr funkce.

Deklarace identifikátoru v místním oboru skryje deklaraci identického parametru funkce. Toto upozornění vás upozorní, že odkazy na identifikátor v místním oboru se přeloží na místně deklarovanou verzi, nikoli na parametr, který může nebo nemusí být vaším záměrem. Pokud chcete tento problém vyřešit, doporučujeme zadat názvy místních proměnných, které nejsou v konfliktu s názvy parametrů.

Příklad

Následující ukázka generuje C4457, protože parametr x a místní proměnná x mají member_fn stejné názvy. Pokud chcete tento problém vyřešit, použijte pro parametry a místní proměnné různé názvy.

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