我正在尝试声明一个值为int size
的二维数组,但我不知道该怎么做。
我想这样做:
int size;
class tile {
public:
tile() : val( 0 ), blocked( false ) {}
unsigned int val;
bool blocked;
};
tile board[size][size];
感谢您的帮助:)
答案 0 :(得分:0)
std::vector< std::vector< tile> > board( size , std::vector<tile> ( size ) );
会这样做。
可替换地,
tile** board = new (tile*) [size]; //allocate the array as a whole
for (int i = 0; i < size; ++i) //now allocate each row in it
board[0] = new tile [size];
但是矢量肯定是要走的路。