簡體   English   中英

地圖 <string, vector <pair<int, int> &gt;&gt;推回成對?

[英]map<string, vector <pair<int, int> > > pushing back into pair?

我有這個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()方法。 最有可能的數據[x] .PAIR不是類型對。 什么類型的數據[x] .PAIR? 如果你將數據[x] .PAIR轉換為配對它應該有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM