C++ 矢量输入 intn,q; cin>>n>>q; 向量v1(n); 对于(int i=0;i>k; 对于(int j=0;j>v1[i][j]; 内部温度; cin>>温度; v1[i]。向后推(温度);*/ } }

C++ 矢量输入 intn,q; cin>>n>>q; 向量v1(n); 对于(int i=0;i>k; 对于(int j=0;j>v1[i][j]; 内部温度; cin>>温度; v1[i]。向后推(温度);*/ } },c++,vector,input,2d,C++,Vector,Input,2d,如果我使用注释中的代码进行输入,以上编写的代码才有效。为什么我不能使用cin>>v1[i][j] 不为内部向量中的k个元素分配空间 int n, q; cin>>n>>q; vector<vector<int>> v1 (n); for(int i = 0; i < n; i++) { int k; cin>>k;

如果我使用注释中的代码进行输入,以上编写的代码才有效。为什么我不能使用cin>>v1[i][j]

不为内部向量中的k个元素分配空间

       int n, q;
       cin>>n>>q;
       vector<vector<int>> v1 (n);
       for(int i = 0; i < n; i++) {
          int k;
          cin>>k;
          for(int j = 0; j < k; j++) {
               cin>>v1[i][j];
               int temp;
               cin>>temp;
               v1[i].push_back(temp); */        
        }
    }
标准:向量v1(n); 对于(int i=0;i>k; v1[i]。调整大小(k);//或v1[i]=std::vector(k) 对于(int j=0;j>v1[i][j]; } }
代码中的任何注释部分都没有数字。
std::vector<std::vector<int>> v1(n);
for (int i = 0; i < n; i++) {
  int k;
  std::cin >> k;
  v1[i].resize(k);  // Or v1[i] = std::vector<int>(k)
  for(int j = 0; j < k; j++) {
     std::cin >> v1[i][j]; 
  }
}