C++

Résolu
Bonjour,
void remplissage(int Raw,int col)
{
switch(tab[i][j].x)
{
case 0:
{//processus}
case (Raw-1):
{//processus}
}
}
mon faute est dans case(Raw-1) le compilateur donne que Raw cannot appeare in constant expersssion.

3 réponses

  1. B-M-R, c'est quoi ?

    Bonjour,      
    
    mon sujet est ....      
    ...      
    Je vous reMercie ...      
    ...       
    Au Revoir.


    Ensuite,
    essaie un truc comme ca:

    void remplissage(int Raw,int col){       
       Int l_raw;
       l_raw = raw-1;       
       switch(tab[i][j].x)       
       {       
        case 0:       
           {//processus}       
        case (l_raw):       
           {//processus}       
       }       
    }        
    


    N'oublie pas d'indenter ton code et d'utiliser les balises < code> < / code>.

    A+
    1. Merci, mais ca marche pas je doit utilisé le même paramètre Raw dans case.
      c'est un matrice le ligne 1 et ligne (Raw-1) sont différents des autres lignes
      avec Raw nombre de ligne.
    2. Merci Pacorabanix , j'ai trouver une solution ce d'utiliser template <int Raw, int col>
      pour en peut ecrie case(Raw-1).
  2. Il te dit quoi comme erreur ?

    Que tu mettes :

         case (Raw-1) 


    ou :

         int l_raw;  
         l_raw = Raw-1;  
         case (l_raw):


    au niveau logique c'est exactement la même chose.

    Sauf que dans le case(), je crois qu'il n'est pas possible de mettre des expressions logiques ou "mathématiques".
    1. Merci ,
      Erreur: 'raw' cannot appear in constant-expression
      bon d'apres vous à l'aide de switch case comment je peut identifier la dernier ligne avec le nombre des lignes est génerique?
      merci beaucoup de m'aider.
    2. "Erreur: 'raw' cannot appear in constant-expression "

      Ce message correspond à cette modif ?

           int l_raw;    
           l_raw = Raw-1;    
           case (l_raw): 


      Merci

      Ps: colle tout ton code stp.
    3. bon j'ai trouver une solution on utiliser template <int Raw,int col>
      void remplissage()
      switch()
      {
      case(Raw-1):
      {
      }
      }
      ça marche bien j'espère .
  3. il faut utiliser un if, dans les "case" des switch on ne peut pas mettre de variables.

    C'est d'ailleurs ce que dit l'erreur...