C++ : "case:"

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

2 réponses

  1. Bobinours Messages postés 2903 Statut Membre 504
     
    Qu'est-ce tu veux faire exactement ?

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

    (Non testé)

    -= Bobinours =-
    0
    1. chmanu Messages postés 166 Statut Membre 28
       
      je crois comprendre la question :
      int i; int x;
      switch (i)
      {case x :
      ... ; break;
      ...
      }

      Et ca marche pas comme ca?
      0
      1. gosseye > chmanu Messages postés 166 Statut Membre
         
        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
  2. 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