首页 > 解决方案 > 将向量初始化为向量 < 类 > ( 值 ) 和向量 < 类 > [ 值 ] 有什么区别

问题描述

当我的初始化是:
vector < pair < int , int > > v ( 100 );
我无法执行:
vecini[x].push_back( make_pair( y , z ) ) ;
但是当我启动它时它可以工作:
vector < pair < int , int > > v [100];

标签: c++vectorstlstd

解决方案


您在这里混合了苹果和香蕉:向量初始化和 C 样式数组。

using type = vector<pair<int, int>>;
type x(100); // <- single vector with 100 elements in it
type y[100]; // <- array of 100 vectors, with 0 elements in each

推荐阅读