我想在矢量矢量的開始處添加新行。我有一個3x3矢量,我想要一個4x3。這是我的代碼:如何在矢量矢量的開始處添加新行
typedef vector<int> state;
typedef vector<vector<int> > board;
int val;
string s;
while (getline (in, s)) {
istringstream iss (s);
while (iss >> val)
boards.push_back(val);
}
sizeb = boards.front();
for (auto it = boards.cbegin()+1; it <= boards.cbegin()+pow(sizeb, 2); ++it)
sstart.push_back(*it);
start.resize(sizeb);
for (int i = 0; i < sizeb; ++i)
start[i].resize(sizeb);
for (int i = 0; i < sizeb; i++)
for (int j = 0; j < sizeb; j++)
start[i][j] = sstart[(i * sizeb) + j];
當我嘗試做sizeb + 1時,它會添加一個新行,但也會添加一個新列。
你能幫我嗎?
爲什麼不使用'vector.insert()'來插入新行? – Logicrat
你的代碼中間有一個裸體'vector'。那是什麼?顯然它不會編譯。 –
是的,這是一個錯誤。只是忽略它hahaha – Elena