unordered_map
に3つの要素があります。私は、次のコード3つの要素を持つ順序付けされていないマップ
#include <iostream>
#include <string>
#include <algorithm>
#include <boost/unordered_map.hpp>
typedef boost::unordered_map<int, std::pair<int, int>> mymap;
mymap m;
int main(){
//std::unordered_map<int, std::pair<int, int> > m;
m.insert({3, std::make_pair(1,1)});
m.insert({4, std::make_pair(5,1)});
for (auto& x: m)
std::cout << x.first << ": "<< x.second << std::endl;
}
を試してみましたが、私は
'のstd ::ペアが' constのはstd :: __ cxx11 ::のbasic_string < _CharT」に由来していないようなprint文を何かに多くのエラーを取得します、_Traits、_Alloc>」 のstd :: coutを< < < < x.first ":" < < x.second < <のstd ::てendl;
構造を作成してペアの代わりに追加してみませんか?私はコードがより読みやすくなると思います。 –
これは問題が発生しているためです。 m.insert(3、std :: make_pair(1,1));でなければなりません。 Without {} –
タイトルには「順序付けられていないマップが3つの要素を持つ」と書かれています。私はコード内に2つの要素しか見ません。または、整数を一対の整数にマップするマップに3つのintを持つ値型があることを意味しますか? –