Conflit d’identificateurs

Il est parfaitement possible de donner le même nom a deux variables différentes, à condition qu’elles ne soient pas toutes deux globales ou toutes deux dans le même bloc. En particulier, deux arguments d’une même fonction doivent avoir des noms différents. (Pour accéder à une variable globale dont le nom est recouvert par une variable locale, voir précédemment.)

Voici par exemple quelques constructions permises (quoique peu claires) :

int i = 1;if (i > 0) {     char i = 'A'    // ok, bloc différent     ..    .}while (i-- > 0) {     double i = Pi;  // idem     ...     }

Par contre ceci est interdit :

void f(int i, int j){     char i = 'A';          // non, même bloc que l’argument     for (int j = 0;...)    // non, même raison}
Précédent Précédent Sommaire Sommaire Suivant Suivant