c++ - gcc 支持 set_value_at_thread_exit() 吗?

标签 c++ multithreading gcc c++11 gcc4.9

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

我在使用 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);

[...]

最佳答案

不幸的是,它还不受支持。如果您查看 status page

30.6.5 | Class template promise | Partial | Missing set_*_at_thread_exit

关于c++ - gcc 支持 set_value_at_thread_exit() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24170666/

相关文章:

wpf - Backgroundworker-完成后无法使用生成的位图

java - 如何保证Java线程不间断地运行直到完成?

linux - 在 Ubuntu 9.04 上为 SimpleScalar 安装 gcc

gcc - red hat devtoolset-3 中的 g++ 找不到 -lelf

c++ - 来自未定义构造函数的默认值

c++ - 使用 vector 从c++中的文件中反转字符串

c++ - 在线程之间发送字符串数据 (Win32)

macos - 链接时调试符号丢失?

c++ - 在编译时确定模板函数结果的类型?

c++ - 试图理解 Boost Qi 解析为结构