Dreidimensionales Dynamisches Array, bitte um Korrektur.
-
Hallo,
Ich sitze gerade an einem Feld und das funktioniert nach diesem Prinzip in 2 Dimensionen, aber sobald ich Versuche drei anzulegen hagelts Fehler!
Was mache ich falsch, wie gehts richtig?// Dynamisches Array für die relevanten Bildpunkte anlegen PunkteSpeicher = new (unsigned int** [Rekursionstiefe]); for (unsigned short rtcounter=0;rtcounter<Rekursionstiefe;rtcounter++) { long int Dimensionsgroesse = static_cast<unsigned int>(pow(4,rtcounter)); PunkteSpeicher[rtcounter]= new unsigned int* [Dimensionsgroesse]; for (long int dgcounter=0;dgcounter<Dimensionsgroesse;dgcounter++) { PunkteSpeicher[rtcounter][dgcounter]= new unsigned int [1]; } }
Vielen Dank vorab,
der Ewigsuchende
-
Zu dem Feld gehört natürlich noch eine Zeile Definition!
unsigned int ***PunkteSpeicher;
und die ändert sich natürlich mit der Anzahl der Dimensionen!
ganz einfach ein Stern für jede
Grüße
der Ewigsuchende
-
aber kannst du mir trotzdem sagen, wofür du das benutzen willst
ich bin mir sicher, dass
std::vector<std::vector<std::vector<int> > > test; //oder std::map<int,std::map<int,std::map<int,int> > > test;
besser ist.
und im stroustrup steht übrigens, dass man "unsigned" nur im äußersten notfall benutzen sollte.
-
Ewigsuchender schrieb:
long int Dimensionsgroesse = static_cast<unsigned int>(pow(4,rtcounter));
Schau dir mal die Shift Operatoren an.
Ewigsuchender schrieb:
PunkteSpeicher[rtcounter][dgcounter]= new unsigned int [1];
Findest du das nicht auch ein bisschen zuviel des Guten.
Lars Hupel schrieb:
und im stroustrup steht übrigens, dass man "unsigned" nur im äußersten notfall benutzen sollte
Man muss ja nicht zu allem ja und Amen sagen.
-
groovemaster schrieb:
Lars Hupel schrieb:
und im stroustrup steht übrigens, dass man "unsigned" nur im äußersten notfall benutzen sollte
Man muss ja nicht zu allem ja und Amen sagen.
ich wollt ja nur darauf hinweisen