dnoob: d apres la norme, ce code la est valide:
for( int i = 0; i < 2; ++i ) ;
for( int i = 0; i < 3; ++i ) ;
Mais les anciennes versions de visual declaraient le 1er i en dehors de la boucle, et du coup ralait pour une redefinition sur la deuxieme ligne.
Pour tester du code: http://www.comeaucomputing.com/tryitout/
Ce code:
int main()
{
for( int i = 0; i < 2; ++i ) ;
for( int i = 0; i < 3; ++i ) ;
for( int j = 0; j < 2; ++j ) ;
for( j = 0; j < 3; ++j ) ;
return 0;
}
donne par exemple en sortie:
MODE:strict errors C++
" ComeauTest.c", line 8: error: identifier " j" is undefined
for( j = 0; j < 3; ++j ) ;
Qu il est bon ce compilo.
Mais bon ca se retrouve tout de meme dans la norme.