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