我想通過使用兩個索引將值添加到2D矢量。當我運行我的程序時,我收到窗口消息說程序已停止工作。使用Dev-C++進行調試表明存在分段錯誤(我不確定這意味着什麼)。請不要使用數組,我必須使用矢量來完成這個任務。通過使用索引爲2D矢量分配值
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char** argv) {
vector< vector<int> > matrix;
cout << "Filling matrix with test numbers.";
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
matrix[i][j] = 5; // causes program to stop working
}
}
}
我創造,我想填補一個3X3矩陣值5的測試情況下,我懷疑它是與沒有被明確定義的二維矢量的大小。如何使用索引來填充具有值的2D矢量?
爲什麼必須有矩陣[I] .resize( 4)在for循環內? – AvP 2014-09-19 15:33:26
因爲你有一個向量向量。所以每個內部向量需要大小爲4,那麼外部向量包含4個內部向量。 – CoryKramer 2014-09-19 15:34:12
對於我的情況,我希望這個2D矢量代表一個3x3矩陣。所以不應該是矩陣[我] .resize(3),外部向量將包含3這些? – AvP 2014-09-19 15:39:54