Hallo Leute, Ich sitze gerade vor meinem Programm und würde gerne aus einer Funktion mehrere Werte zurückgeben. Im "normalen" C kann ich das so machen: int TestFunktion (int &Zahl1, int &Zahl2) Dann kann ich die Zahl1 und Zahl2 in der Funktion bearbeiten und zurückgeben. In GCC funktioniert das bei mir aber nicht. Geht das generell nicht, mache ich was falsch oder gibt es vielleicht einen anderen Weg mehrere Werte zurückzugeben? sorry, wenn das hier schon öfter gefragt wurde, ich habe aber nichts dazu gefunden. mfg morrie
Du must einen zeiger auf den Wert/die variable übergeben, also die Adresse, wo etwas steht. (bei C++ ginge aus auch noch anders) Die Funktion darf den Wert wie oben entgegennehmen, aber nicht ändern - und genau das passiert ja nicht mit der Adresse.
>>int TestFunktion (int &Zahl1, int &Zahl2)
Das ist kein C, sondern C++. In C macht man das mit Zeigern, Referenze
gibt es nicht.
Funktion; int TestFunktion (int* Zahl1, int* Zahl2)
Arbeiten in Funktion:
int TestFunktion (int* Zahl1, int* Zahl2)
{
*Zahl1 = 25;
*Zahl2 = Zahl1 20;
return *Zahl2 + 75;
}
Aufruf: TestFunktion(&var1, &var2);
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.