Funktion ist defekt
-
hallo,
ich habe folgenden Code:
void choose_draw(char draw1, char draw2, bool bg, char z1, char z2) //"Spielfigur" Auswahl { if(bg == true) { draw1 = z1; draw2 = z2; } else { draw1 = z2; draw2 = z1; } }char draw_i = '.'; //...... char draw_g = '.'; //...... char z1 = 'X'; char z2 = 'O'; choose_draw(draw_i, draw_g, begin, z1, z2); std::cout<<draw_i<<draw_g;Da kommt immer nur "." raus, obwohl ich schon in der Funktion alles gemacht habe.
Warum funktioniert das nicht so, wie ich es will?
Ich wil unbedingt eine Funktion verwenden
cu bis gleich XD
Martin
-
Hi,
verwende Pointer oder Referenzen, denn die Werte verlieren außerhalb der Funktion wieder ihre Gültigkeit...
Also schreib:
void choose_draw(char& draw1, char& draw2, bool bg, char& z1, char& z2) { if(bg == true) { draw1 = z1; draw2 = z2; } else { draw1 = z2; draw2 = z1; } }Hoffe es hilft dir. Falls noch Fragen sind nachfragen oder Google bemühen. Stichworte: Referenzen, Pointer, C++
Gruß Patrick