如何设置向量对的向量?
How to set up vector of vector pairs?
在这段代码中,我试图制作一个向量对向量。代码可以编译,但存在分段错误,我不知道哪里出错了。如果有任何提示可以解决我的问题,我将不胜感激。
#include <iostream>
#include <vector>
using namespace std;
vector<vector<pair<int,bool> > > pairs;
void insert(int x, int y)
{
pair<int,bool> tuple=make_pair(y,0);
pairs[x].push_back(tuple);
}
void pairing()
{
for(int i=0; i<12; i++)
{
for(int j=0; j<12; j++)
{
insert(i,j);
}
}
}
int main()
{
pairing();
return 0;
}
pairs 没有元素,所以你不能这样做:pairs[x]
.
要么调整 pairs 向量的大小,使其中有 N 个空白 vector<pair<int,bool> >
,要么先创建一个 vector<pair<int,bool> >
,然后将其推回 pairs
正在读取运算符 [] 的 std::vector reference...
"Unlike std::map::operator[], this operator never inserts a new element into the container."
在这段代码中,我试图制作一个向量对向量。代码可以编译,但存在分段错误,我不知道哪里出错了。如果有任何提示可以解决我的问题,我将不胜感激。
#include <iostream>
#include <vector>
using namespace std;
vector<vector<pair<int,bool> > > pairs;
void insert(int x, int y)
{
pair<int,bool> tuple=make_pair(y,0);
pairs[x].push_back(tuple);
}
void pairing()
{
for(int i=0; i<12; i++)
{
for(int j=0; j<12; j++)
{
insert(i,j);
}
}
}
int main()
{
pairing();
return 0;
}
pairs 没有元素,所以你不能这样做:pairs[x]
.
要么调整 pairs 向量的大小,使其中有 N 个空白 vector<pair<int,bool> >
,要么先创建一个 vector<pair<int,bool> >
,然后将其推回 pairs
正在读取运算符 [] 的 std::vector reference...
"Unlike std::map::operator[], this operator never inserts a new element into the container."