hi,
ich möchte eine class tMenu erstellen, die per tMenu::init(a,b) zur Laufzeit einen array tMenu::array[a][b] erzeugen kann.
In der Art:
klar geht das so nicht, wegen const für array-Dimensionen -Code:class tMenu { protected: public: tMenu () : { } char CAPTLEN; char MENULEN; void init(char captlen, char menulen) { CAPTLEN = captlen; MENULEN = menulen; } char list[MENULEN][CAPTLEN]; }; //
aber wie kriegt man es dennoch hin?
- - - Aktualisiert - - -
ich bin jetzt 1 Schritt weiter, über assert -
leider kann ich damit nur einen 1-dim array erstellen, keinen 2-dim.
wie geht das denn nun wohl...?
Code:#include <cassert> class tMenu { protected: char * list; char MENULEN, CAPTLEN; public: tMenu (char menulen, char captlen) // constructor { assert(menulen > 0); assert(captlen > 0); list = new char[menulen]; // list = new char[menulen][captlen]; // alternat. >> error! MENULEN = menulen; CAPTLEN = captlen; } ~tMenu() // destructor { // Dynamically delete the array we allocated earlier delete[] list ; } };







Zitieren
Lesezeichen