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

#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;
发布了77 篇原创文章 · 获赞 16 · 访问量 6534

猜你喜欢

转载自blog.csdn.net/weixin_43886592/article/details/102527996
今日推荐