bonjour ( et oui, encore lui lol )
Le code qui suit devrait me permettre de tester la valeur de retour d'une fonction et de réaliser l'action souhaité grace à un swith case !

or, Monsieur le compilateur me jete comme un mal propre lors de la compilation.

voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
void CRecupValideesDlg::OnActualiser2() 
{
 char CMD[] = {"\r"};// variable stockant la commande. parametre de la fonction de sandrine
 int erreur;   // variable stockant le code d'erreur retourner par la fct récupération
 
 // fonction de Récupartion
 // à implémenter
 erreur = 0;   // affectation d'une valeur pour tester le switch case
 
 switch (erreur)
 {
  case 0 : // ce qui doit ce passer
   // lecture du fichier contenant le nom des fichiers :
   char buff[200];
   ifstream infile("liste"); // ouverture du fichier liste.txt
   //while(!infile.eof()) si plusieurs ligne dans le fichier, faire une boucle
   infile.getline(buff, sizeof(buff)); //lecture d'une ligne complete
   infile.close();
 
   // affichage du fichier dans la zone d'édition
   CString s(buff), s2("il y a ");   
   s.Replace(":"," fichiers présents :\r\n\r\n");  // change les ":" par la chaine avec un retour chariot + nvlle ligne
   s.Replace(",","\r\n");  // change les "," par des retour chariot + nvlle ligne
   s2 += s;
   m_edit.SetWindowText(s2); // affiche le contenu de s
   break;
 
  case 1 : 
   CString s(buff);
   m_edit.SetWindowText(s2);
   break;
 }
}
Si je réalise le test en mettant case 1 en commentaire, tout ce passe bien, il réagit au changement de valeur de la variable erreur.
Mais, dès que je tente de compiler avec du code dans le case 1, il me jete en me disant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Compiling...
RecupValideesDlg.cpp
E:\Projet\C++\aquarium\RecupValideesDlg.cpp(84) : error C2360: initialization of 's2' is skipped by 'case' label
        E:\Projet\C++\aquarium\RecupValideesDlg.cpp(77) : see declaration of 's2'
E:\Projet\C++\aquarium\RecupValideesDlg.cpp(84) : error C2360: initialization of 's' is skipped by 'case' label
        E:\Projet\C++\aquarium\RecupValideesDlg.cpp(77) : see declaration of 's'
E:\Projet\C++\aquarium\RecupValideesDlg.cpp(84) : error C2360: initialization of 'infile' is skipped by 'case' label
        E:\Projet\C++\aquarium\RecupValideesDlg.cpp(69) : see declaration of 'infile'
E:\Projet\C++\aquarium\RecupValideesDlg.cpp(85) : error C2086: 's' : redefinition
Error executing cl.exe.
Si vous aviez des ptits trucs a me donner ... lol je serai le plus heureux !