Сбой инициализации контейнера unique_ptr из списка инициализаторов в GCC 4.7

Я пытаюсь инициализировать std::vector<:unique_ptr>> способом, эквивалентным примеру из Bjarne Stroustrup's C++11 FAQ:

using namespace std;
vector> vs { new string{"Doug"}, new string{"Adams"} }; // fails
unique_ptr 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<:basic_string> >::unique_ptr(std::basic_string&)'

Как исправить эту ошибку?

51
задан NHDaly 3 April 2015 в 15:24
поделиться