我想使用“向量”创建一个矩阵:
vector < vector <int> > Mat;
问题是,当我运行此代码时:
int i ,j;
for(i = 1 ; i <= 5 ; ++i)
for(j = 1 ; j <= 5 ; ++j)
Mat[i][j] = 0;
我会得到一个非常讨厌的错误。我该如何解决?
我不想像这样读取矩阵:
for(i = 1 ; i <= 5 ; ++i)
for(j = 1 ; j <= 5 ; ++j)
M[i].push_back(0);
原文由 ivanciprian 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您以这种方式创建向量时,它们的维度为 0。您必须使用合适的大小初始化它们:
顺便说一句,在第二个向量初始化中添加 0 将确保它将被 0 填充: