O contêiner de inicialização de unique_ptrs da lista de inicializadores falha com o GCC 4.7
Estou tentando inicializar umstd::vector<std::unique_ptr<std::string>>
de maneira equivalente a um exemplo de FAQ C ++ 11 de Bjarne Stroustrup:
using namespace std;
vector<unique_ptr<string>> vs { new string{"Doug"}, new string{"Adams"} }; // fails
unique_ptr<string> ps { new string{"42"} }; // OK
Não vejo razão para que esta sintaxe falhe. Há algo errado com essa maneira de inicializar o contêiner?
A mensagem de erro do compilador é enorme; o segmento relevante que encontro está abaixo:
/ usr / lib / gcc-snapshot / lib / gcc / i686-linux-gnu / 4.7.0 /../../../../ include / c ++ / 4.7.0 /bits/stl_construct.h: 77: 7: erro: nenhuma função correspondente para chamada para'std::unique_ptr<std::basic_string<char> >::unique_ptr(std::basic_string<char>&)'
Qual é a maneira de corrigir este erro?