C++ : "case:"

bocco -  
 Dannybrain -
Comment donner a un "case" une valeur non constante ?
Comment contourner ce probleme ??

2 réponses

Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
Qu'est-ce tu veux faire exactement ?

int variable = 1;
...
case variable: ... break;

(Non testé)

-= Bobinours =-
0
chmanu Messages postés 166 Date d'inscription   Statut Membre Dernière intervention   28
 
je crois comprendre la question :
int i; int x;
switch (i)
{case x :
... ; break;
...
}

Et ca marche pas comme ca?
0
gosseye > chmanu Messages postés 166 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Le prolblème c'est que le x doit obligatoirement être une valeur constante et pas une variable.

Et donc ca marche pas :-(
0
Dannybrain
 
Salut,

Exactement, le C++, tout comme le C ou le JAVA d'ailleurs ne permettent pas ce que VB ou d'autres langages de scripts permettent, à savoir une instruction "switch() { case }" où les cas sont des variables, par exemple on ne peut pas faire :

case 1 to 10 : fairequelquechose()
break;
case is > 10 : faireautrechose();
break;
etc...

d'après ce que j'avais lu sur le sujet, il n'existe pas de moyens de faire autre chose si ce n'est des if imbriqués ou des case qui se suivent par exemple :

case 1:
case 2:
case 3:
case 4:
case 5: fairequelquechose_pour_valeur_entre_1_et_5()
break;

en esperant avoir répondu à ta question...
0