Mehrdimensionel Array als Member in Klasse
-
Hallo,
bin neu bei C++ und hab mich etwas eingelesen in der Sprache =).
Aber nun hackt es etwas, vielleicht könnt ihr mir da weiterhelfen.Folgendes Szenario:
class Klasse { createArray(int x, int y); private: RESERVIERUNG FÜR NOCH UNBEKANTEN MEHR DIMENSIONALER INT ARRAY; } Klasse::createArray(int x, int y) { INITIALISIERE MEHRDIMENSIONALEN ARRAY MIT [x][y]; }Kann mir wer erläutern wie man so etwas implementiert?

Gruß
-
class Klasse { public: Klasse() : meinArray(0){ } ~Klasse(){ delete[] meinArray; } createArray(int x, int y); deleteArray(); private: int *meinArray; } Klasse::createArray(int x, int y) { meinArray = new int[x][y]; } Klasse::deleteArray() { delete[] meinArray; meinArray = 0; }
-
Fellhuhn schrieb:
class Klasse { public: Klasse() : meinArray(0){ } ~Klasse(){ delete[] meinArray; } createArray(int x, int y); deleteArray(); private: int *meinArray; } Klasse::createArray(int x, int y) { meinArray = new int[x][y]; } Klasse::deleteArray() { delete[] meinArray; meinArray = 0; }Ich glaube nicht, Tim.
So z.B.:
//... private: int **meinArray; } Klasse::createArray(int x, int y) { meinArray = new int*[x]; //auf Fehler pruefen! for(size_t n = 0; n < x; ++n) { meinArray[n] = new int[y]; //auf Fehler pruefen! } }oder mit
std::vector<std::vector<int> >oder mitboost::multi_array
-
Arghs, sollte auch [x*y] heißen und nicht [x][y].

-
Ich glaube nicht, Tim.
Das heisst:
„Das glaube ich nicht, Tim!“