0
は私がMSDN pageからもらったこのコードにコンパイルすることができますunordered_map挿入()エラー
using namespace std
typedef std::unordered_map<char, int> Mymap;
Mymap c1;
c1.insert(Mymap::value_type('a', 1));
c1.insert(Mymap::value_type('b', 2));
c1.insert(Mymap::value_type('c', 3));
をしかし、私はそれがために変更されたとき:
using namespace std
typedef std::unordered_map<int, vector<int> > Mymap;
Mymap c1;
c1.insert(Mymap::value_type(1, vector<int> v (1,1)));
c1.insert(Mymap::value_type(2, vector<int> v (1,2)));
c1.insert(Mymap::value_type(3, vector<int> v (1,3)));
私はエラー(行番号を取得しますスニペットでは明らかにオフです)。
myfile.cpp:121:29: error: expected primary-expression before ‘(’ token
myfile.cpp:121:45: error: expected primary-expression before ‘v’
myfile.cpp:122:32: error: expected primary-expression before ‘(’ token
myfile.cpp:122:48: error: expected primary-expression before ‘v’
myfile.cpp:123:32: error: expected primary-expression before ‘(’ token
myfile.cpp:123:48: error: expected primary-expression before ‘v’
ハッシュマップは "int => intのリスト"である必要があります。リストは1つの番号で初期化されます。
ここで問題は何ですか? value_type
以外のものを使用する必要がありますか?あなたが探しているものを
ああ!私はC++プログラマーではなく、ベクターコードもコピーして、あなたに一時的な名前が必要だと仮定しました。 –