LINUX.ORG.RU

[c++] ошибка с rvalue reference


0

2

Подскажите пожалуста с ошибкой:

Получаю строку с QDirIterator'а. Потом хотел преобразовать её к std::string и передать её в поток через std::move.

std::string s = it.filePath().toStdString();
auto ftr = std::async(std::launch::async, &fListDir, std::move(s));

Получаю ошибку:
error: invalid initialization of reference of type ‘std::string&& {aka std::basic_string<char>&&}’ from expression of type ‘std::string {aka std::basic_string<char>}’

Так получается та же самая ошибка:

std::string s = it.filePath().toStdString();
std::string && r = s;
auto ftr = std::async(std::launch::async, &fListDir, r);

gcc 4.6

★★

Ответ на: комментарий от Leron

Зашел на страничку статуса C++11 в g++ - компилятор поддерживает, видимо libstdc++ в 4.6 еще был не готов.

Pavval ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.