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