switch case ohne const int



  • Guten Morgen allerseits,

    ich möchte gerne eine switch-case-Anweisung dieser Form basteln:

    switch(iState)
    {
        case iState1: ... break;
        case iState2: ... break;
        ...
    }
    

    Wie bekannt, wird als case nur const int akzeptiert. Mein Problem ist nun folgendes, dass ich die Variablen iState1, iState2 usw. nicht als const deklarieren kann. Die entsprechenden int-Werte werden erst später eingelesen und bleiben dann konstant. Und das Statement MUSS vom Typ int sein...
    Hat jemand einen Vorschlag?



  • Hi,

    ja, das ist mit switch/case aus den genannten Gründen denke ich nicht möglich. Du musst es mit if/else umsetzen.

    mfG
    KaPtainCugel



  • das ergaben auch alle recherchen, erst wurde geraten int durch string zu ersetzen und in letzter instanz dann halt per if/else. Weiß jemand warum es nicht möglich ist?



  • Hier gibt es ein paar Diskussionen zu den Hintergründen. Gibt es denn einen Grund warum du unbedingt switch/case benutzen möchtest?



  • nein das war kein muss, ist ja keine schulaufgabe 😃 ich persönlich finde switch-case immer eleganter, aber naja. hab es mittlerweile auf if-else umgebaut... ich weine innerlich!


Log in to reply