{GELÖST} [Anfänger] Variablen werden auf 0 zurückgesetzt
-
Ach, Zeiger und Referenzen ja... genau die Themen die ich noch nicht bearbeitet habe
Ich sehe den Thread jetzt mal als gelöst an, auch wenn ich die Lösung noch nicht umzusetzen weiss, aber ich danke euch vielmals :3Habt noch einen schönen Tag und genießt das Wetter,
LG Meyver;
-
Eine Lösung ohne Referenz oder Zeiger wäre, die Funktion die geänderte Variable zurückgeben zu lassen und das Ergebnis an der Aufrufstelle an die entprechende Variable zuzuweisen.
-
Ja das hatte ich mir auch schon gedacht aber ich möchte ja das die Anzahl an Versuchen und die Punktzahl wenn dann zurückgegeben wird. Und mir ist zumindest keine Möglichkeit bekannt 2 Werte zurückgeben zu können ^^
-
@meyvel sagte in {GELÖST} [Anfänger] Variablen werden auf 0 zurückgesetzt:
ich möchte ja das die Anzahl an Versuchen und die Punktzahl wenn dann zurückgegeben wird.
Beides steckt ja in deiner struct S_PlayerInfo - also gib
player1
zurück, das ist nur eine Variable.
-
Hmmm, dass klingt ziemlich einleuchtend! Habe das gerade mal ausprobiert aber ich weiss nicht welchen Rückgabetyp die Funktion dann haben muss, denn folgendes funktioniert nicht:
S_PlayerInfo spielStarten()
-
S_PlayerInfo spielStarten(int zufallsZahl, S_PlayerInfo player1) { // ... return player1; }
... ansonsten spezifiziere "funktioniert nicht".
-
Ok hat doch funktioniert, ich hatte nur vergessen S_PlayerInfo auch vor meinen Funktionsprototypen zu setzen, da stand noch void...
Jedenfalls ist das Hauptproblem dadurch leider nicht gelöst, die Spielerinfos zeigen immer noch
- Versuche: 0
- Gesamtpunkte: 0
-
Code? (am besten vollständig)
-
Hat sich schon erledigt, ich war nur zu hastig im Antworten tut mir leid ^^
Ich hatte nur vergessen die Rückgabewerte auch wieder an den player zu übergeben. Schande auf mein Haupt.
player = spielStarten(zufallsZahl, player);
Ich danke dir vielmals lieber Schwertfisch. Hab noch ein schönes restliches Wochenende (:
-
@meyvel sagte in {GELÖST} [Anfänger] Variablen werden auf 0 zurückgesetzt:
Ja das hatte ich mir auch schon gedacht aber ich möchte ja das die Anzahl an Versuchen und die Punktzahl wenn dann zurückgegeben wird. Und mir ist zumindest keine Möglichkeit bekannt 2 Werte zurückgeben zu können ^^
Falls du doch mal zwei Werte zurück geben willst und gerade keine Struktur zur Hand hast, deren Rückgabe Sinn machen würde:
std::pair<unsigned,double> meineFunktionMitRueckgabe() { return std::make_pair( 42, 273.15 ); } // Aufruf auto RueckGabeDerFunktion = meineFunktionMitRueckgabe();
Nur das du es mal gesehen hast. Wenn du mehr als zwei zurückgeben willst, wäre das "std::tuple"