mehrdimensionale arrays auf dem heap
-
hallo
warum geht das nicht
int* A = new int[k][k];aber das
int* A = new int[k];und wie kann ich das hinbiegen?
mfg lookias
-
weil der erste parameter angeben sein mus
z.zb
arr[10][x]
benutzt stl und da die container ect.
-
Dazu steht auch was in der FAQ: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html
-
lookias schrieb:
warum geht das nicht
int* A = new int[k][k];aber das
int* A = new int[k];Weil es im Grunde keine mehrdimensionalen Arrays in C++ gibt, auch wenn es den Anschein hat. Beides sind simple Arrays. Im ersten Fall mit Elementtyp int[k] und Anzahl k, im zweiten Fall mit Elementtyp int und Anzahl k. Der Elementtyp muss aber compile-time konstant sein, was im ersten Fall nicht gegeben ist, sofern k keine Konstante ist.