我試圖做這樣的事情:如何在C++中聲明和初始化一個2d int向量?
#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;
}
}
}
不過,顯然我不能初始化向量的「板」矢量這種方式。
如何創建一個2D矢量類型的公共成員並正確初始化它?
爲什麼你不能這樣初始化它? (除了你應該在別處調用'srand'而不是每次創建一個板子的事實)。 – 2010-04-28 23:33:06
它在Visual Studio 2005中編譯得很好。究竟是什麼編譯器錯誤? – 2010-04-28 23:34:13
編譯看起來很好。儘管如此,你應該在其他地方調用'srand',並提供參數而不是「幻數」12,8,0,6等等。 – 2010-04-28 23:37:42