Rückgabewert einer Funktion

Dragonate

Erfahrenes Mitglied
Hi,

habe gerade ein kleines logisches Problem. Ich habe eine Funktion die eventuell einen Wert zurückgibt. Spricht, wenn innerhalb der Funktion eine Bedingung erfüllt ist, gibt diese den Wert einer Variable zurück.

Über den Rückgabewert möchte ich eine neue Prozedur anstoßen, zur Vereinfachung jetzt nur eine Zuweisung:

Code:
variable_test = ( funktion ( x, y ) ) ;


Was passiert mit "variable_test" wenn meine Funktion nichts zurück gibt ?
 
Ok gut,

ja ich sage nur in einem Fall innerhalb der Funktion "return x;". Ansonsnten gebe ich nichts zurück. Dürfte soweit ich weis keinen Fehler geben.

Dann kann ich ja aber den Rückgabewert überprüfen, weil ich ja weis was da drin stehen muss, und wenn das der Fall ist, fortfahren.

Danke
 
Ok gut,

ja ich sage nur in einem Fall innerhalb der Funktion "return x;". Ansonsnten gebe ich nichts zurück. Dürfte soweit ich weis keinen Fehler geben.
"dürfte"?
Code:
no_ret.c: In function 'foo':
no_ret.c:6: error: control reaches end of non-void function

Ist aber auch nicht wirklich sinnvoll keinen Wert zurückzugeben, oder?
Dann kann ich ja aber den Rückgabewert überprüfen, weil ich ja weis was da drin stehen muss, und wenn das der Fall ist, fortfahren.
Und was sagt dir, dass nicht zufällig der Wert drin steht der drin stehen "müßte"?

Gruß
 
Ist aber auch nicht wirklich sinnvoll keinen Wert zurückzugeben, oder?

Naja, in der Funktion wird ja nach einem Wert gesucht, wenn er nicht gefunden wird, muss also auch nichts zurückgegeben werden.

Und was sagt dir, dass nicht zufällig der Wert drin steht der drin stehen "müßte"?

Das ist allerdings ein berechtigter Einwand, ich werde eine Lösung dafür finden, meine ursrpüngliche Frage ist ja beantwortet.

Danke
 
Solche Sachen macht man in der Regel so:
Code:
bool funtion_test(T x, T y, T& out)
{
     if(gefunden)
     {
           out = wert;
           return true;
     }
     else
          return false;
}
 
Zurück