2015-01-02 50 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