今天做作业,需要输入一个矩阵,大小由用户输入,所以打算用二维vector来实现。
一开始用遍历输入,如下
结果运行起来老出现 vector subscript out of range的报错
在csdn上找到原因,
不像二维数组那样,可以直接对arr[i][j]进行循环赋值。在vector<vector<int>>中,因为vector是一个容器,最外层的vector容器中放着更小的vector,而里层的vector里面放的是int型的数字。所以我们首先要对里层的vector容器赋值,然后再把里层的vector作为元素插入到外层的vector中。
将代码改成如下形式,就可以正常运行了