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
Hi..
ich habe jetzt so wie ich Euch verstanden habe, Eure Vorschläge in meine Funktion wie folgt eingebaut:
{
float grenzen[6];
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 *pAkkum = new int[xdim];
int **ppAkkum = &pAkkum;
int *pData = new int[xdim*ydim];
for ( int i = 0; i
//akkumulator auf 0 initialisieren
for (int x_index = 0; x_index {
for (int y_index = 0; y_index {
ppAkkum[x_index][y_index]=0;
}
}
delete[] pAkkum;
delete[] ppAkkum;
delete[] pData;
}
und jetzt wenn zum Funktionaufruf kommt, wird das Ausführen abgebrochen und kommt die Meldung:
"Benutzerdefinierter Haltepunkt aus der Quellcode aufgerufen bei 77f7f570"
und dann wird das Fenster mit dem Überschrift: " [Anhalten]-[Disassemblierung]" angezeigt.
was soll das alles! was soll ich da überprüfen?
Chakhi