Array aus Pointern
-
Hi !
Ich versuche folgendes:
//in header datei Block** levelBlocks; //später in der cpp Datei width = WIDTH; height = HEIGHT; levelBlocks = new Block*[ width ][ height ]; /*for( int i = 0 ; i <= width ; ++i ) for( int j = 0 ; j <= height ; ++j ) levelBlocks[ i ][ j ] = 0; */ }
Allerdings meckert der Compiler:
make g++ -g `pkg-config --cflags clanGL-0.7 clanDisplay-0.7 clanCore-0.7 clanApp-0.7 clanSound-0.7 clanMikMod-0.7 clanVorbis-0.7` `sdl-config --cflags` -c LevelRenderer/Level.cpp -o Level.o LevelRenderer/Level.cpp: In member function `void Level::set_size(int, int)': LevelRenderer/Level.cpp:18: error: cannot convert `Block* (*)[((this->Level::height - 1) + 1)]' to `Block**' in assignment make: *** [Level.o] Fehler 1
Problem: ich versteh nix. Wie mach ich das, dass ich ein 2-dim. Array von Pointer des Typs Block habe mit den entsprechenden Ausmaßen.
mfg
Tom
-
typedef Block* BlockColumn[width]; BlockColumn* levelBlocks = new Block*[ width ][ height ]; // oder halt BlockColumn* levelBlocks = new BlockColumn[ width ];
width muss natürlich eine Konstante sein.