My question is how to insert some element into multimap of the form
multimap<string, vector<pair<string, int>>> someMap; //std skipped to simplify
I tried different syntaxes and i think the closest one may be this one
someMap.insert(pair<string,vector<pair<string, int>>>(someString1, vector<pair<string, int>> { pair<string, int> (someString2, someInt) }));
Unfortunately it is not working. Any tips??
The type of the first pair is wrong
pair<string,vector<string, int>>
^^^^^^^^^^^
anyway I suggest:
multimap<string, vector<pair<string, int>>> someMap;
vector<pair<string,int>> obj;
someMap.insert(make_pair("hello", obj));
or if you insist with that syntax (verbose-mode):
multimap<string, vector<pair<string, int>>> someMap;
string someString2 = "hello";
string someString1 = "world";
int someInt = 42;
someMap.insert(pair<string,vector<pair<string, int>>>(someString1, vector<pair<string, int>> { pair<string, int> (someString2, someInt) }));
this requires C++11.