Bonjour

Je viens de tomber sur un cas particulier. Ce code compile sous Windows :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
  for(int i=0; i < 10; i++)
    doSomething();
 
  for(int i=0; i < 10; i++)
    doSomething();
Mais par sur AIX, car le compilateur que nous utilisons sur AIX considère que i reste visible après la boucle, et il faut écrire (par exemple) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
  int i = 0;
 
  for(i=0; i < 10; i++)
    doSomething();
 
  for(i=0; i < 10; i++)
    doSomething();
Pour être portable. J'ai donc eu un débat sur le sujet avec un collègue, et je n'ai rien trouvé dans la norme concernant cette ambiguité.

Pensez vous que la norme est claire sur ce point ? Que dit elle alors ? Qu'en pensez vous (indépendamment de la norme) ?