Błąd poczas kompilacji switcha

Błąd poczas kompilacji switcha
Gracu
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Białystok
0

Witam, mam taki problem, kompilator wywala mi błąd przy switchu. Szukałem błędu ale nie mogę się go dopatrzeć.
błąd:

błąd: expected primary-expression before ')' token switch (stan)

(wiem co oznacza ten błąd).

Enum wygląda tak:

Kopiuj
enum stan{
        stan_poczatkowy,
        stan_ID,
        stan_PIN,
        stan_akcje
    };

no i switch

Kopiuj
switch (stan) // w tej linijce wywała błąd
   {
   case stan_ID: {
       if(wprowadzoneID == poprawneID)
      {
          //akcja
      }
      else
      {
          //akcja
      }
   }
   case stan_PIN:{
      do{
        if(wprowadzonyPIN == poprawnyPIN)
       {
           //akcja
       }
       else
       {
           //akcja
       }
        }while(bladPin != 3);
   }
   default:{
       //akcja
       break;
   }
}
}
fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
3

nie mozesz miec switch(stan) bo stan to jest nazwa enuma a nie nazwa zmiennej

http://ideone.com/3yrGS1

musisz utworzyc obiekt (dlatego zmienilem enuma na STAN) i reszta dziala.
Przy okazji Twoje formatowanie jest tragiczne. I to co dales tutaj na pewno sie nie kompiluje bo masz jednego } za duzo

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Bo stan to u ciebie nazwa TYPU a nie obiekt/zmienna. Switch operuje na zmiennych a nie typach.

Gracu
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Białystok
0

Dzieki :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.