我正在尝试做类似于以下的事情:
#include <iostream>
#include <vector>
#include <ctime>
class Clickomania
{
public:
Clickomania();
std::vector<std::vector<int> > board;
};
Clickomania::Clickomania()
: board(12, std::vector<int>(8,0)) <<<<<<<
{
srand((unsigned)time(0));
for(int i = 0; i < 12; i++)
{
for(int j = 0; j < 8; j++)
{
int color = (rand() % 6) + 1;
board[i][j] = color;
}
}
}
然而,显然我不能以这种方式初始化“board”向量的向量。
我该如何创建一个2D向量类型的公共成员并正确地进行初始化?
srand
而不是每次创建板子时都调用它的事实之外)。 - James McNellissrand
函数,并提供参数而不是使用“魔法数字”12、8、0、6等等。 - M. Williamsi
和j
而不是后增量,但这不会影响结果。 - Nathan Ernst