Это мой первый пост здесь, так что будьте снисходительны 🙂
У меня проблема с методом 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);
[...]
К сожалению, пока это не поддерживается. Если вы посмотрите на страница состояния
30.6.5 | Шаблон класса
promise
| Частичное | Отсутствуетset_*_at_thread_exit