这是我的代码main.cpp:
#include <string>
#include <iostream>
#include <future>
int main() {
using namespace std;
auto p = promise<string>();
p.set_value("Hello, world. ");
auto f = p.get_future();
cout << f.get() << endl;
return 0;
}
这是错误:
./a.out
terminate called after throwing an instance of 'std::system_error'
what():
UnkNown error -1 [1]
15195 abort (core dumped) ./a.out
我的编译器版本:
$clang++ --version
clang version 7.0.0-3 (tags/RELEASE_700/final)
Target: x86_64-pc-linux-gnu
Thread model: posix InstalledDir: /usr/bin
我的编译命令:
$clang++ ./main.cpp && ./a.out
解决方法:
std :: promise是C线程支持的一部分,即使您以非线程方式使用它.
所以你必须使用编译器选项-pthread:
clang++ -pthread main.cpp
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。