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
Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge
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