dynam. 2D Array mit "new"
-
Ich brauche für ein Spielfeld ein dynamisches zweidimensionales Array. Die Variablen werden vorher vom Nutzer eingegeben (also iHoehe und iBreite).
Spielfeld = new int[iBreite][iHoehe];Das haut aber nicht hin, da new wohl nur eindimensionale Arrays erzeugen kann.
Wie kriege ich es also hin, dass C++ mir ein zweidimensionales Array erzeugt?
-
-
Entweder indem Du zuerst dynamisch ein Array von int* erzeugst und die dann in ner for-schleife mit einzeln nochmal mit new holst, oder Du benutzt sowas wie
std::vector<std::vector<int> >
Ein mxn-Array mit 0en initialisier kannste damit so machen:
std::vector<std::vector<int> > spielfeld(m, std::vector<int>(n,0));MfG Jester
-
Hallo
Du must zuerst ein Array für die erste Dimension anlegen, vom Typ Pointer auf Feldtyp.
Dann in einer Schleife jedes Element des Hauptarrays mit einem neuen Array belegen, und zwar in der Länge der zweiten Dimension.nimm aber besser gleich std::vector
std::vector< std::vector<FeldTyp> > Spielfeld;bis bald
akari
-
Ah, vielen Dank! Es funktioniert.
Danke.
