2015-01-02 117 views
0

我遇到了一个小问题。将值插入到C++中的多维向量中

我正在使用多维向量,我想在给定的位置插入一些值。我在wxWidgets中制作了一个数独游戏,并且我得到了玩家放入并希望将它们存储在我的mVector中的拼贴。

mVector看起来像这样。

vector< vector<string> > board{9, vector<string>(9)}; 

而起初我已经增加了这样的值。

board[row][col] = value; 

“value”是一个字符串,row/col是整数。

这是一种向mVector添加值的合法方式吗?我这样问,因为当我更新董事会时,通过这样做,出于某种原因,我无法运行其他职能,我正在解决董事会问题,给董事会提示等。在我将新值存储到它之前,所有的函数都能正常工作。我是否需要在插入,push_back之类的矢量的函数中使用其他类型的构建?

回答

2

既然您将矢量声明为大小9x9,那么这是分配值的有效方法。

否则,你可以声明董事会作为

vector<vector<string>> board; 

然后用

for (int i = 0; i < 9; ++i) 
{ 
    vector<string> row; 
    for (int j = 0; j < 9; ++j) 
    { 
     row.push_back(value); // where value is whatever you want 
    } 
    board.push_back(row); 
} 

填充但同样,一旦板尺寸9x9的,你可以简单地在任何单元格分配一个值例如

board[2][4] = "hello"; 

Working example