die Grund, dass Sie den Fehler haben, ist, dass Sie m Geben Sie die Grenzen für mindestens die äußere Dimension an. d.h.
int jagged[][3] = {{0,1},{1,2,3}};
Sie können nicht gezackt haben [0] eine 2-Element-Array von int und gezackten [1] eine 3-Element-Array von int; eine N-Element-Array ist eine andere Art von einer M-Element-Array (wobei N! = M) und alle Elemente eines Arrays müssen vom gleichen Typ sein.
Was Sie können tun, was die anderen oben vorgeschlagen haben und gezackt als ein Array von Zeigern zu int erstellen; Auf diese Weise kann jedes Element verweisen Arrays unterschiedlicher Größe auf ganzzahlige:
int row0[] = {0,1};
int row1[] = {1,2,3};
int *jagged[] = {row0, row1};
Obwohl ROW0 und row1 gibt verschiedene Arten (2-Element gegenüber 3-Element-Arrays von int), im Zusammenhang mit der Initialisierer sie beide implizit in den gleichen Typ konvertiert (int *).
Ähm Sie drücken einen Zeiger in einen Vektor, der keine Zeiger enthält ... – Goz