问题描述
为什么vector.push_back(s)
在这里不起作用,但是vector[i]=s
起作用(作为注释提及)?如果我使用push_back
函数,则不会打印任何内容。 vec[i]=s
可以正常工作,但是为什么push_back
不起作用?我希望这两种选择都能很好地运行,即以二维向量打印存储的元素。
#include<iostream>
#include<vector>
#include<utility>
#include<stack>
#include<queue>
using namespace std;
int main()
{
int n;
cin>>n;
vector<vector<pair<int,int>>> vec(n);
for(int i=0;i<n;i++)
{
int m;
cin>>m;
vector<pair<int,int>> s;
for(int j=0;j<m;j++)
{
int x;
cin>>x;
s.push_back(make_pair(x,i+1));
}
vec.push_back(s);//vec[i]=s works here :-(
}
for(int i=0;i<n;i++)
for(int j=0;j<vec[i].size();j++)
cout<<vec[i][j].first<<" ";
return 0;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)