5

这是我在这里的第一篇文章,所以请宽容:)

我遇到了来自 promise 类(c++11 的一部分)的 set_value_at_thread_exit() 方法的问题。在 VS2013 中一切正常,但 GCC 给了我以下错误消息:

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

我在 Ubuntu 14.04 上尝试过 GCC 4.8 和 4.9

代码是:

[...]

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);

[...]
4

1 回答 1

7

不幸的是,它还不支持。如果您查看状态页面

30.6.5 | 类模板promise| 部分 | 失踪set_*_at_thread_exit

于 2014-06-11T19:07:32.773 回答