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



我的 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我希望得到整数,那么问题是什么?

m[y]年,我希望得到vector

没错,您可以从m[y]表达式中获得对vector<pair<vector<int>,int>>的引用

通过.second我希望得到整数

不,vector<pair<vector<int>,int>>没有.second成员。您还需要一次取消引用,要么

m[y][0].second

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

相关内容

最新更新