我的 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