Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
la declaración de "identifier" oculta el parámetro de función
Observaciones
La declaración de identifier en el ámbito local oculta la declaración del parámetro de función con nombre idéntico. Esta advertencia le permite saber que las referencias a identifier en el ámbito local se resuelven en la versión declarada localmente, no en el parámetro, que puede ser o no su intención. Para corregir este problema, se recomienda asignar nombres de variables locales que no entren en conflicto con los nombres de parámetro.
Ejemplo
En el ejemplo siguiente se genera la advertencia C4457 porque el parámetro x y la variable x local de member_fn tienen los mismos nombres. Para corregir este problema, use nombres diferentes para los parámetros y variables locales.
// 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;