Wiso funktionier meine Klasse nicht
-
Hallo. Bin Wütend

Wiso funktioniert dass nicht:
//Includes #include <iostream> using namespace std; //Klasse class CSpielfeld { private: struct FeldInfo //Feldinformationen { bool Besetzt; }; int map_breite; int map_hoehe; FeldInfo Karte[5][5]; public: CSpielfeld() { map_breite = 20; map_hoehe = 20; //Das Feld mier Grünen Wiesen Füllen for(int i = 0;i<map_hoehe;i++) { for(int j=0;i<map_breite;j++) { Karte[j][i].Besetzt = false; } cout << endl; } // ende Spielfeld mit Daten Füllen } // Spielfeld void DrawMap() { for(int i = 0;i<map_hoehe;i++) { for(int j=0;i<map_breite;j++) { if(Karte[j][i].Besetzt == true) cout << "X"; else cout << "."; } cout << endl; } } //Void Draw Map }; int main() { int halter; CSpielfeld Spielfeld; Spielfeld.DrawMap(); cin >> halter; cin >> halter; }Wiso funktioniert dass nicht es kommt immer so ein hässlicher Fehler:
Durch einen Pufferüberlauf in 2d_array_test.exe wurde der interne Programmzustand beschädigt. Klicken Sie auf "Unterbrechen", um das Programm zu debuggen, oder auf "Weiter", um es zu beenden. Weitere Informationen finden Sie im Hilfethema "Gewusst wie: Debuggen von Pufferüberlaufproblemen".
-
Hallo,
warum weist Du 20 x 20 Werte einem FeldInfo Karte[5][5]-Array zu?
-
@Wutanfall: Außerdem solltest du in den beiden inneren Schleifen wohl j und nicht i in der Abbruch-Bedingung verwenden.
Gruß Caipi
-
Hallo
du definierts ein Array der Dimensionen 5x5, aber iterierst über 20x20.
/edit : viel zu langsam
bis bald
akari
-
und wofür ist das:
int halter; ... cin>>halter;dafür das das Fenster sich nicht schließt?
wenn ja, schau mal in die FAQ WIn32/Konsole....;)
-
ser1al schrieb:
und wofür ist das:
int halter; ... cin>>halter;dafür das das Fenster sich nicht schließt?
wenn ja, schau mal in die FAQ WIn32/Konsole....;)
Ich denke mal er erspart uns den Rest seines main Parts.