map >>推回对吗?

| 我有这个
map<string, vector <pair<int, int> > >
变量,我正在推回一个值,但是code :: blocks告诉我该对没有名为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> > >&)\'
    
已邀请:
不确定您的问题。 以下代码对我来说很好用:
map<string, vector <pair<int, int> > > T;
pair<int, int> p;
p.first = 1;
p.second = 10;
T[\"Hello\"].push_back(p);
cout << T[\"Hello\"][0].first << endl;
    
该消息表明您正在尝试向后推
std::map
,而不是一对。您的
data
结构是什么样的?     
向量确实具有push_back()方法。最可能的data [x] .PAIR不是类型对。 data [x] .PAIR是什么类型?如果将data [x] .PAIR转换为配对,它应该可以工作。     

要回复问题请先登录注册