ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
19368
19368
EMPFEHLEN
-
17.11.03 20:03 #1
- Registriert seit
- Nov 2003
- Beiträge
- 6
Hi!
Leider lassen es meine Kenntnisse derzeit noch nicht zu das folgende Problem selber zu meistern
Die MSDN war auch nicht ergiebig)
Mittels new soll ein Mehrdimensionales Array initialisiert werden.
float *pnewarray=0;
pnewarray=new float pnewarray[x][y];
Leider lässt es der Compiler nicht zu, meine Frage: Ist es überhaupt möglich Mehrdemsionale Arrays dynamisch erstellen zu lassen? Wenn ja, wie
Vielen Dank für die mögliche Antwort im vorraus.Geändert von WhiteNazgul (17.11.03 um 20:55 Uhr)
-
pnewarray = new float [x * y];
oder
float (*pnewarray)[y] = new float [x][y];Geändert von rockbaer (18.11.03 um 12:45 Uhr)
-
18.11.03 17:44 #3
- Registriert seit
- Nov 2003
- Beiträge
- 6
Habe dank, nur würde
pnewarray[x*y] ein eindimensionales Array mit x*y Elementen erzeugen.
Bei der zweiten Möglichkeit setzt du vorraus, das eine unbekannte, in diesem Fall y bekannt ist. Beide x,y sind allerdings Unbekannte, die zur runtime erst ermittelt werden.
-
worüber dein compiler meckert ist das ein multidimendionales array über einen pointer mit n ebenen addressiert werden muss wobei n die anzahl der dimensionen ist... wenn du also ein 2 dimensionales array hasst muss du float** benutzen
des weiteren ist der syntax für new garantiert nicht
new float pnewarray[x];
sondern wenn schon dann new float[x];
multidimensionale arrays müssen in mehreren schritten entsprechend den ebenen erstellt werden.. das sieht dann so aus:
Code :1 2 3 4
float** myarray = new float*[x]; for(int i = 0; i < x; i++) { myarray[x] = new float[y]; }
und gelöscht wird es mit
Code :1 2 3 4
for(int i = 0; i < x; i++) { delete[] myarray[x]; } delete[] myarray;
-
18.11.03 19:09 #5
- Registriert seit
- Nov 2003
- Beiträge
- 6
Habe vielen Dank für die präzise und schnelle Antwort, und das super Beispiel.
PS:Und ja ich meinte eigentlich pnewarray=new int[x].
-
Natzgul, wenn du in c++ codest (Was ja der fall ist) kannst du dein 2dimensionales Array mit:Original geschrieben von WhiteNazgul
Bei der zweiten Möglichkeit setzt du vorraus, das eine unbekannte, in diesem Fall y bekannt ist. Beide x,y sind allerdings Unbekannte, die zur runtime erst ermittelt werden.
float (*pnewarray)[y] = new float [x][y];
auch erst ( "zur runtime" wie du sagst) erstellen wenn du x und y ermittelt hast, beide (x und y) können also unbekannt sein
Ähnliche Themen
-
Mehrdimensionales Array - zu - Eindimensionales Array (Mehrheit gewinnt)?
Von Blaafer im Forum PHPAntworten: 2Letzter Beitrag: 25.12.08, 07:07 -
mehrdimensionales array
Von Nadscha im Forum PHPAntworten: 12Letzter Beitrag: 17.07.07, 17:13 -
Mehrdimensionales Array zum einfachen Array imploden
Von Papenburger im Forum PHPAntworten: 5Letzter Beitrag: 30.04.07, 15:03 -
mehrdimensionales Array
Von TinaX im Forum PHPAntworten: 3Letzter Beitrag: 16.12.04, 16:40 -
Mehrdimensionales Array ...
Von LadySunshine im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 23.06.04, 11:28





Zitieren
Login






