C++二维vector往进push_back数据时的错误

  • Post author:
  • Post category:其他


#include<iostream>
#include<vector>//引头文件
using namespace std


方式1


vector<vector<int >> v;
v[0][0] = 1;
cout<< v[0][0]<<endl;


方式2

for (int i = 0; i < 4; i++)
	{
		v[0].push_back(i);
	}

在这里插入图片描述

以上两种方式都产生了报错。



解决方案


每要给新的一行push进数据时,先给二维vector<vector<>> push进一个一维的vector<>

    v.push_back(vector<int>());  //要给哪行push时就要给push进一个空的以为vector
    
	for (int i = 0; i < 4; i++)
	{
		v[0].push_back(i);
	}
	
	v.push_back(vector<int>());  //push进一个空的以为vector
	
	for (int i = 0; i < 4; i++)
	{
		v[1].push_back(i);
	}
	cout << v.size() << "" << endl;
	cout << v[0].size() << "" << endl;



版权声明:本文为weixin_43886592原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。