Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Array in C++

Chakhi / 6 Antworten / Flachansicht Nickles

hallo Leute,
ich möchte ein Array erstellen damit ich einen Raster darstellen kann! und das mache ich wie folgt:

float grenzen[6];
float xkoord, ykoord;
int xdim,ydim;
int xmin ,xmax ,ymin ,ymax;



// geometrische Grenzen in x und y Richtung auslesen

polydata->GetBounds(grenzen); //(xmin,xmax,ymin,ymax, zmin,zmax).
xmin = grenzen[0] - 20;
xmax = grenzen[1] + 20;
ymin = grenzen[2] - 20;
ymax = grenzen[3] + 20;

// Akkumulator mit Raster 1mm für x-y Ebene einrichten
xdim = xmax - xmin;
ydim = ymax - ymin;
int akkumulator[xdim][ydim];

aber beim Kompilieren kommt immer die Fehlermeldung, dass für akkumulator[][] "konstante Ausdruck erwartet" ist und "error C2466: Reservierung eines Feldes der konstanten Groesse 0 nicht moeglich"

wie könnte ich das realisieren! warum werden xdim und ydim, die ich oben berechne nicht angenohmen!??

ich bedanke mich im Voraus....

Chrakhan

bei Antwort benachrichtigen
mr.escape Dreamforger „Mehrdimensionales Array in C++ und kleine Korrektur“
Optionen

Oder als zwischenschritt, wenn alle vektoren gleich groß sind (ydim):
int **ppAkkum = new *int[xdim];
int *pData = new int[xdim*ydim];
for ( int i = 0; i
und zum löschen:
delete[] ppAkkum;
und
delete[] pData;
statt
for ( int i = 0; i
Zugriff in beiden fällen über
ppAkkum[x_index][y_index]
mit
0
wie im originalposting angedacht.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen