unordered_map - {{key,value},{key,value}} syntax invalid
c++, c++11, std, visual-c++, visual-studio-2012
Solution
Visual Studio 2012 lacks many of the modern C++-features, among them are `initialiser lists`. See here for an overview.
Problem
I'm trying to compile the code taken from here ``` // constructing unordered_maps #include <iostream> #include <string> #include <unordered_map> typedef std::unordered_map<std::string,std::string> stringmap; stringmap merge (stringmap a,stringmap b) { stringmap temp(a); temp.insert(b.begin(),b.end()); return temp; } int main () { stringmap first; // empty stringmap second ( {{"apple","red"},{"lemon","yellow"}} ); // init list stringmap third ( {{"orange","orange"},{"strawberry","red"}} ); // init list stringmap fourth (second); // copy stringmap fifth (merge(third,fourth)); // move stringmap sixth (fifth.begin(),fifth.end()); // range std::cout << "sixth contains:"; for (auto& x: sixth) std::cout << " " << x.first << ":" << x.second; std::cout << std::endl; return 0; } ``` with MSVC2012 but I'm receiving error C2143: syntax error : missing ')' before '{' on the code line ``` stringmap second ( {{"apple","red"},{"lemon","yellow"}} ); // init list ``` Am I missing something?