Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
la déclaration de « identifier » masque le paramètre de fonction
Remarques
La déclaration d’identificateur dans l’étendue locale masque la déclaration du paramètre de fonction nommé identiquement. Cet avertissement vous permet de savoir que les références à l’identificateur dans l’étendue locale sont résolues vers la version déclarée localement, et non le paramètre, qui peut ou non être votre intention. Pour résoudre ce problème, nous vous recommandons de donner des noms de variables locales qui ne sont pas en conflit avec les noms de paramètres.
Exemple
L’exemple suivant génère l’erreur C4457, car le paramètre x et la variable xmember_fn locale ont les mêmes noms. Pour résoudre ce problème, utilisez différents noms pour les paramètres et les 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;