Я пытаюсь инициализировать std::vector<std::unique_ptr<std::string>>
таким образом, который эквивалентен примеру из Bjarne Stroustrup С++ 11 FAQ:
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/../../../../включают/С++/4.7.0 /bits/stl _construct.h:77:7: ошибка: нет соответствующей функции для вызова
'std::unique_ptr<std::basic_string<char> >::unique_ptr(std::basic_string<char>&)'
Как устранить эту ошибку?