Rückgabewert



  • Hallo,

    int funktion(int x)
    {
    
     if(x>99)
     {
       cout>>"Zahl ist zu groß";
     }
    
      else{ return x;}
    
    }
    

    Warnung: Nicht alle Verzweigungen liefern Wert zurück !

    Wie könnte man das eleganter lösen ?
    Es wird zwar ein Wert zurückgeliefert aber ein Falscher im if-Zweig.



  • Kommt ganz drauf an, was die Funktion macht.

    int funktion(int x)
    {
     if(x>99)
     {
       cout>>"Zahl ist zu groß";
       return 0;
     }
     else
     {
      return x;
     }
    }
    

    kann unter Umständen sinnvoll sein. Oder z.B -1 zurückgeben. Um zu wissen, was die Funktion zurückgeben soll, muss man wissen, was sie machen soll..



  • genau das gleiche thema hatten wir doch vor kurzem schon mal... naja, ich geh einfach mal davon aus, dass du nicht auch der to von damals warst^^

    Es gibt im Wesentlichen 2 Wege:
    - error-return wert
    - exceptions (wenn es sich um logikfehler handelt, reicht unter Umständen auch nen assert)

    mit dem return wert einen fehler zu signalisieren, kann sinnvoll sein, muss es aber nicht ;o)
    mit exceptions zu arbeiten, ist nur dann sinnvoll, wenn es sich wirklich um einen fehler handelt(also wenn es wirklich eine ausnahme und nicht die regel ist, dass hier nen falscher wert übergeben wird)

    bb


Log in to reply