Aus Funktion Paramter mit Werten füllen.
-
Hallo der Titel ist vielleicht etwas verwirend. Aber wa sihc machen ist eins.
Ich habe ein Klasse. Die klassenelemte sind private und ich möchte eine Get funktion realiseieren.
hier mla der code :void GetAufschlag(float *SprungAufschlag, float *FlatterAufschlag, float *Standaufschlag);so und nun die funktion :
void vbSpieler::GetAufschlag(float *SprungAufschlag, float *FlatterAufschlag, float *Standaufschlag) { cout<<".... "<<fSprungAufschlag<<" "<<fFlatterAufschlag<<" "<<fStandaufschlag<<"\n"; *SprungAufschlag = fSprungAufschlag; *FlatterAufschlag = fFlatterAufschlag; *Standaufschlag = fStandaufschlag; }der aufruf :
float temp = 0; float temp1 = 0; float temp2 = 0; pVectorSpieler[0]->GetAufschlag(&temp,&temp1,&temp2); cout<<temp<<" "<<temp1<<" "<<temp2<<"\n";so wenn ich nun alle 3 variabeln ausles steh immer 0 drin. das kann aber nicht sein hat jemand einen idee
-
dercooleauswandere schrieb:
das kann aber nicht sein
Und warum kann das nicht sein? Was gibt das cout in der Funktion aus?
-
Geh mit dem Debugger schrittweise durch und überprüfe die Werte.
-
Also ich schreibe die werte vorher in eine datenbank. und lese sie dann aus. und erzeuge dann damit die objekte.
un inder datenbank stehen werte größer 0 drin, habe ich überprüft.
-
Und ist z.B. fSprungAufschlag an der Stelle der Zuweisung, die du gepostet hast, auch wirklich ungleich 0? Hast du das mit dem Debugger überprüft? Setze einen Breakpoint an die Stelle und überprüfe die tatsächlichen Werte.
-
dercooleauswandere schrieb:
un inder datenbank stehen werte größer 0 drin, habe ich überprüft.
Dann machst du beim Auslesen oder beim Erzeugen etwas falsch.
-
Also beim einschreiben verwende ich im moment zum testen konstante werte.
-
dercooleauswandere schrieb:
Also beim einschreiben verwende ich im moment zum testen konstante werte.
Wenn das hier mehr werden soll als ein Ratespiel, musst du schon etwas mehr von deinem Code zeigen.
-
Ich kann mich nur wiederholen: Der Debugger verrät dir die tatsächlichen Werte. Breakpoint (Haltepunkt) ist das Zauberwort.
-
Ansonsten kann man die Fehlerquellen auch mit Konsolenausgaben relativ schnell einschränken.