Поддерживается ли set_value_at_thread_exit () в gcc?

Это мой первый пост здесь, так что будьте снисходительны 🙂

У меня проблема с методом set_value_at_thread_exit () из класса обещаний (часть c ++ 11). В VS2013 все было нормально, но GCC выдает следующее сообщение об ошибке:

error: ‘class std::promise<int>’ has no member named ‘set_value_at_thread_exit’
args->result.set_value_at_thread_exit(result);

Я пробовал GCC 4.8 и 4.9 на Ubuntu 14.04

Код является:

[...]

int result = 0;
Socket socket;
result = CreateUDPSocket(&socket, false, ANY_IP, args->port);
if (result != ERROR_SUCCESS)
{
args->result.set_value_at_thread_exit(result);
return;
}
args->result.set_value(ERROR_SUCCESS);

[...]

5

Решение

К сожалению, пока это не поддерживается. Если вы посмотрите на страница состояния

30.6.5 | Шаблон класса promise | Частичное | Отсутствует set_*_at_thread_exit

7

Другие решения


По вопросам рекламы [email protected]