如何获取地图中矢量的第二个值?

时间:2018-02-15 08:18:41

标签: c++

我的c ++中有这段代码

map<int,vector< pair <vector<int>,int> > > m;

我想得到第一个向量中的int因此我尝试了这个代码。

m[y].second;

但我收到了这个错误:

No member named 'second' in 'std::__1::vector<std::__1::pair<std::__1::vector<int, std::__1::allocator<int> >, int>,
      std::__1::allocator<std::__1::pair<std::__1::vector<int, std::__1::allocator<int> >, int> > >'

m[y],我希望得到向量,并且.second我希望得到整数,那么问题是什么?

1 个答案:

答案 0 :(得分:3)

  

m[y],我希望获得vector

没错,您可以从vector<pair<vector<int>,int>>表达式

中获得对m[y]的引用
  

.second我希望得到整数

不,vector<pair<vector<int>,int>>没有.second成员。你还需要一个解除引用,

m[y][0].second

m.at(y).front().second