Сбой инициализации контейнера unique_ptrs из списка инициализаторов в GCC 4.7
Я пытаюсь инициализироватьstd::vector<std::unique_ptr<std::string>>
таким образом, что эквивалентно примеру изЧасто задаваемые вопросы Бьярна Страуструпа по C ++ 11:
using namespace std;
vector<unique_ptr<string>> vs { new string{"Doug"}, new string{"Adams"} }; // fails
unique_ptr<string> ps { new string{"42"} }; // OK
Я не вижу причин, почему этот синтаксис должен потерпеть неудачу. Что-то не так с этим способом инициализации контейнера?
Сообщение об ошибке компилятора огромно; соответствующий сегмент, который я нахожу ниже:
/usr/lib/gcc-snapshot/lib/gcc/i686-linux-gnu/4.7.0/../../../../include/c++/4.7.0 /bits/stl_construct.h:77 : 7: ошибка: нет подходящей функции для вызова'std::unique_ptr<std::basic_string<char> >::unique_ptr(std::basic_string<char>&)'
Как исправить эту ошибку?