Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
deklaracja "identifier" ukrywa parametr funkcji
Deklaracja identyfikatora w zakresie lokalnym ukrywa deklarację identycznego nazwanego parametru funkcji. To ostrzeżenie informuje, że odwołania do identyfikatora w zakresie lokalnym rozpoznają lokalnie zadeklarowaną wersję, a nie parametr, który może być twoim zamiarem. Aby rozwiązać ten problem, zalecamy nadanie nazw zmiennych lokalnych, które nie powodują konfliktu z nazwami parametrów.
Przykład
Poniższy przykład generuje C4457, ponieważ parametr x
i zmienna x
lokalna w programie member_fn
mają takie same nazwy. Aby rozwiązać ten problem, użyj różnych nazw parametrów i zmiennych lokalnych.
// 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;