Я пытался инициализировать карту <ints, vector<ints> >
, используя новый стандарт 0X, но, похоже, не могу получить правильный синтаксис. Я хотел бы сделать карту с одной записью с ключом: значение = 1: <3,4>
#include <initializer_list>
#include <map>
#include <vector>
using namespace std;
map<int, vector<int> > A = {1,{3,4}};
....
Умирает со следующей ошибкой при использовании gcc 4.4.3:
error: no matching function for call to std::map<int,std::vector<int,std::allocator<int> >,std::less<int>,std::allocator<std::pair<const int,std::vector<int,std::allocator<int> > > > >::map(<brace-enclosed initializer list>)
Редактировать
Следуя предложению Cogwheel и добавив дополнительную фигурную скобку, теперь он компилируется с предупреждением, с которым можно избавиться, используя флаг -fno-deduce-init-list Есть ли опасность при этом?