Błąd poczas kompilacji switcha

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:

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

no i switch

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;
   }
}
}
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

1

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

0

Dzieki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1