为什么我们不能声明vector< int,pair< int,int> >

时间:2016-03-03 15:02:08

标签: c++ vector stl std-pair

在某个竞争性编码中,我需要使用上面提到的数据结构,但它给了我一个错误,为什么它会抛出错误,哪个是我可以用于此的最简单的数据结构

2 个答案:

答案 0 :(得分:2)

矢量只包含一种类型。你试图将两个放入向量中。你可以改为做vector<pair<int, pair<int, int>>,那没关系。

答案 1 :(得分:-1)

我们不能将vector声明为vector < int , pair < int , int > >,因为Vector是连续存储的相同类型元素的序列。

这代表具有键值属性(如mapping)的关联容器。 因此我们不能将vector声明为vector< int , pair < int ,int > >

我们可以将其声明为vector< pair < int , pair < int , int > > or vector< data_type>