Zweidimensionales globales Array zur Laufzeit auf dem Heap reservieren
-
Hallo Leute,
ich benutze BCB 5.0 Pro und möchte
zur Laufzeit ein zweidimensionales Array aus float-Werten auf dem Heap anlegen.
Auf dem Heap, weil die Dimensionen erst zur Laufzeit bekannt werden.Das Array soll global sein, und wird beim Programmende freigegeben.
Ich habe mir das so vorgestellt:
// Globale variable. Zeiger auf Array aus float-Werten float *float_Empfangs_Array = 0; // In einer Button-Funktion // Speicher auf dem Heap reservieren int Zeilen = 10; int Spalten = 10; float_Empfangs_Array = new float[Zeilen][Spalten]; // Beim Programmende // Speicher freigeben delete float_Empfangs_Array;Ich habe aber gerade erfahren, dass auf dem Heap nur eindimensionale Arrays angelegt werden können.
Der Compiler sagt: konstanter Ausdruck erforderlich.Weiss jemand von euch wie man das Problem lösen könnte?
Danke im Voraus
-
Mach einfach ein eindimensionales Array, in dem du deine zweidimensionalen Daten ablegst, und addressiere ein Element x,y mit dem Index [y*breite+x].
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke. Das probiere ich aus
-
Schau mal in die FAQ, da gibts einen extra Thread zu dem Thema nehrdimensionale Arrays

-
Hier gibts auch noch einen netten Link zum Thema: http://www.developia.de/developia/viewarticle.php?cid=19547&page=1