如何声明具有2个变量值的二维数组

时间:2015-11-28 12:58:07

标签: c++ arrays

我正在尝试声明一个值为int size的二维数组,但我不知道该怎么做。

我想这样做:

int size;

class tile {
public:
    tile() : val( 0 ), blocked( false ) {}
    unsigned int val;
    bool blocked;
};

tile board[size][size];

感谢您的帮助:)

1 个答案:

答案 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];

但是矢量肯定是要走的路。