Problen mit Case anweisung.



  • Hallo,

    ich habe folgende Code.

    int Globaldata::getintdata(int W)
    {
    switch(W)
    {
    case 1:return iTNoGD;
    case 2:return iTNoBD;
    case 3:return iTNoD;
    case 4:return iTNoUCD;
    case 5:return iCUPSIndex;
    case 6:return iWorkONr ;
    }

    }

    Obwohl mehr return anweisung da inhaltet sind, compailer erwartet ein Retun außerhalb Case Klammer. Kann ich einfach die Warnung von compailer ignorieren? oder muss ich was tun?

    Gruß
    S.Mathi



  • 1. Codetags
    2. 2 Lösungen:

    int Globaldata::getintdata(int W)
    {
    switch(W)
    {
    case 1:return iTNoGD;
    case 2:return iTNoBD;
    case 3:return iTNoD;
    case 4:return iTNoUCD;
    case 5:return iCUPSIndex;
    case 6:return iWorkONr ;
    default: return -1;
    }
    
    }
    

    oder

    int Globaldata::getintdata(int W)
    {
    switch(W)
    {
    case 1:return iTNoGD;
    case 2:return iTNoBD;
    case 3:return iTNoD;
    case 4:return iTNoUCD;
    case 5:return iCUPSIndex;
    case 6:return iWorkONr ;
    }
    
    return -1;
    
    }
    


  • zur Erklärung (hat mein vorgänger wohl vergessen...):

    wenn jetzt mal ne andere Zahl auftaucht als die Zaheln von 1-6 gibts keine Verzwigung und es wird kein return erreicht. Das würde dann zu einem Laufzeitfehler führen (wenn der Compiler das überhaupt compiliert...)



  • Vielen Danke für schnelle Hilfe!

    Gruß
    S.Mathi 👍


Anmelden zum Antworten