C++

Résolu
narsise -  
 narsise -
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

Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
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...
0
informaticienSAP Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   20
 
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
narsise
 
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.
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
0
narsise
 
Merci Pacorabanix , j'ai trouver une solution ce d'utiliser template <int Raw, int col>
pour en peut ecrie case(Raw-1).
0
informaticienSAP Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   20
 
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
narsise
 
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.
0
informaticienSAP Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   20
 
"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.
0
narsise
 
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 .
0