dreidimensionales dynamisches Array
-
Habe es wie in der Faq bei einem 2d Array gemacht:
int ***mCountedFields; mCountedFields = new int**[MAX_PLAYERS]; for(int i=0;i<MAX_PLAYERS;i++) { mCountedFields[i] = new int*[10]; for(int j=0;j<10;j++); { mCountedFields[i][j] = new int[14]; mCountedFields[i][j][0] = 5; } } int bla=mCountedFields[0][0][0];Lässt sich compilieren und linken aber gibt bei Laufzeit einen Fehler bei der letzten Zeile:
Unhandled exception at 0x00401473 in EinfachGenial.exe: 0xC0000005: Access violation reading location 0xcdcdcdcd.
Kann mir jemand helfen?
-
Das Semikolon hinter der inneren for-Schleife hab ich jetzt weggemacht
, geht aber trotzdem nicht.
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET 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.
-
template <typename T> //3D-Array erstellen T ***create3D(size_t x, size_t y, size_t z) { T ***arr=0; for (size_t i=0;i<x;++i) arr = new T**[x]; for (size_t i=0;i<y;++i) *(arr+i) = new T*[y]; for (size_t i=0;i<y;i++) for (size_t j=0;j<z;++j) *(*(arr+i)+j) = new T[z]; return arr; }; template <typename T> //3D-Array wieder löschen void kill3D(T ***mat, size_t x, size_t y, size_t z) { for (size_t i=0;i<y;i++) for (size_t j=0;j<z;++j) delete [] *(*(mat+i)+j); for (size_t i=0;i<y;++i) delete [] *(mat+i); delete [] mat; mat = 0; };Viel Spaß...
MfG
GPC