地图<字符串,矢量<对<整数,整数> > >推回配对?
我有这个 map
变量,我正在推回一个值,但 code::blocks 告诉我该pair没有名为push_back的成员函数。我应该怎么做才能让它推回对而不是 pair<>.push_back()
?
这基本上就是我正在做的事情:
map<string, vector <pair<int, int> > > T;
for(int x = 0; x < data.size(); x++)
T[data[x].str].push_back(data[x].PAIR)
错误是:
error: no matching function for call to 'std::vector<std::pair<int, int>,
std::allocator<std::pair<int, int> > >::push_back(std::map<int, int,
std::less<int>, std::allocator<std::pair<const int, int> > >&)'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不确定你的问题。
以下代码对我来说效果很好:
Not sure about you problem.
Following code works fine for me:
该消息表明您正在尝试推回一个
std::map
,而不是一对。您的数据
结构是什么样的?The message indicates that you are trying to push back a
std::map
, not a pair. What does yourdata
structure look like?向量确实有push_back()方法。 data[x].PAIR 很可能不是pair 类型。 data[x].PAIR 是什么类型?如果您将 data[x].PAIR 转换为配对,它应该可以工作。
Vectors do have push_back() method. Most likely data[x].PAIR is not of type pair. What type is data[x].PAIR? If you convert data[x].PAIR to pair it should work.