ik wil een pointer maken naar een multi dimensionele array. Dit doe ik omdat ik een multidimensionale array nodig heb, maar ik dit flexibel wil houden zodat de grootte van de array in de constructor (in het geval van C++) wordt bepaald. Ik had hiervoor de volgende constructie in gedachten:
Eerst declareer ik een pointer naar de 2 dimensionale array:
CODE
int *board[][];
Vervolgens maak ik in de constructor de werkelijke array aan:
CODE
board = (int * [][]) malloc(sizeof(int[n][n]));
Ik krijg dan de volgende melding:
CODE
nqueensboard.cpp:10: error: multidimensional array must have bounds for all dimensions except the first
Dus dan doe ik het als volgt:
CODE
board = (int * [n][n]) malloc(sizeof(int[n][n]));
En dan krijg ik de melding:
CODE
nqueensboard.cpp:10: error: ISO C++ forbids casting to an array type `int*[((this->NQueensBoard::n - 1) + 1)][((this->NQueensBoard::n - 1) + 1)]'
Nu kan ik dit alles wel oplossing door een integer pointer te maken en de pointer als 1 dimensionale array beschouwen, maar dat vind ik niet netjes.
Wie weet wat ik fout doe?