Interdire de déclarer une variable dans un case ?

Interdire de déclarer une variable dans un case ? - C++ - Programmation

Marsh Posté le 12-10-2004 à 22:11:37    

Bonsoir à tous !
 
  Je trouve dans plusieurs cours sur le C++ (comme ici: http://perso.wanadoo.fr/peggs/c742.html ) qu'il est interdit de déclarer une variable dans un des 'case' d'un switch.
 J'aimerais (1) connaître la raison de cette interdiction  
            (2) savoir pourquoi mon compilateur me permet d'enfreindre cette règle. (gcc 3.3.2 sous dev-c++, Windows XP)
 
  Je compile avec les options suivantes, pourtant très restrictives : -W -Wall -std=c++98 -pedantic
 
   Merci !


Message édité par suizokukan le 12-10-2004 à 22:19:03
Reply

Marsh Posté le 12-10-2004 à 22:11:37   

Reply

Marsh Posté le 12-10-2004 à 22:15:57    

Peut-être que le compilo la sort du switch pour la gérer, en se "disant" scrongneugneu...
Pour les liens, un espace avant et après http/ /// permet de cliquer directement dessus, la parenthèse trop proche fait partie de l'URL à tort.
 
Up ! aux pros.

Reply

Marsh Posté le 12-10-2004 à 22:28:56    

pour faire simple : c'est illégal.
Pour faire compliqué : seul les déclarations sans initialiseurs implicites ou explicites sont autorisées, si je me souviens bien.
 
Bref ouvre un bloc.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed