如何设置向量对的向量?

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."