Skocz do zawartości

Zablokowane Switch w c++


Rekomendowane odpowiedzi

Opublikowano

Nie da się na stringach zadziałać instrukcją switch. Switch działa tylko na typy całkowite (int). Najlepiej zrób to instrukcją "if" lub napisz funkcję przekształcającą dowolny string na liczbę.

Opublikowano

bo nie czytasz co wywala kompilator.

 

system(string("START cmd /c taskkill /f /im " + proc).c_str());

Opublikowano

lepiej zrobić własne makro uniwersalnego switcha jesli chcesz zachowac jako taka stala logike, ale i tak ify to juz lepszy pomysl:

#define uswitch(var) for(unsigned int __T__=0,__PTR__=(unsigned int)&var;__T__<1;__T__++)
#define ucase(type,val) if(*(type*)__PTR__==val)


string s="test";

uswitch(s) // musisz koniecznie podac nazwe zmiennej/stalej ktora istnieje, nie zas bezposrednia wartosc
{

ucase(string,"test") // pierw podajesz typ zmiennej/stalej a nastepnie wartosc do porownania. Typ musi miec operator porownania, inaczej nie zadziala
{
cout<<"dobrze";
}

ucase(string,"dupa")
{
cout<<"zle";
}

}

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...