Dynamische Arrays

Daniel Toplak

Erfahrenes Mitglied
Hallo kann mir jemand sagen, wie ich ein 2-dimensionales dynamschies Array erstellen kann.

Statisch sieht das ja so aus, z.B.:

CString csArr[5][4];

so in meinem falle sollte die "4" statisch sein und die "5" unbekannt;

also x = 12 // oder so;

CString csArr[x][4]; // <-- das, das nicht geht weiss ich.

dann hab ich es so versucht und er sagt immer syntax-fehler ')'
Code:
x=12;
CString* csArr;
CString (*csArr)[4] = new CString[x];
 
Mehrdimensionale dynamische Arrays sind in C++ nicht möglich, wie schon von Holyfly erwähnt könntest du diverse STL-COntainer verschachteln, oder selbst eine Array-ähnliche Klasse schreiben.
 
Danke für die Mühe und ich sage es ist doch möglich, man kann damit zwar nur eine Dimension (das war auch das was ich wollte) dynamisch machen. Ich habe es sogar geschaft das Ding an eine Funktion zu übergeben. Für die jenigen, die es Interessiert hier mal der Code:
Code:
int x = 13; // das ist der dynamische Wert

CString (*csArr)[3] = new CString[x][3];
/*
so jetzt hat man ein 2 dimensionales CString Array, es enthält 
x-Arrays zu 3 Elementen
*/

csArr[0][0] = "test"; // wird ganz normal angesprochen
csArr[9][2] = "nochmal test";
TestFunktion(csArr); // übergabe an eine Funktion
delete[] csArr // sollte man net vergessen *g*
void TestFunktion(CString (*Array)[3]) // hier dei Funktion
{
   CString hallo = Array[9][2]
}

Gruss Homer
 
Der unterschied ist das dus auf den Heap gepackt hast :)
Somit ist das wieder anders :)

ich würd trotzdem den vector nehmen =)
=> faul bin :D
 

Neue Beiträge

Zurück