Используя initializer_list на карте векторов

Я пытался инициализировать карту <ints, vector<ints> > с помощью нового 0X стандарта, но я, может казаться, не получаю корректный синтаксис. Я хотел бы сделать карту с однократным въездом с key:value = 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>)

Править

После предложения Зубчатым колесом и добавлением дополнительной фигурной скобки это теперь компилирует с предупреждением, которое может быть избавлено от использования флага-fno-deduce-init-list. Есть ли при этом опасность?

7
задан James McNellis 29 May 2010 в 22:38
поделиться