我正在阅读 Anthony Williams 的 C++ concurrency in action。我试图运行一个实现 std::promise 的示例程序,但它给出了一个错误。请让我知道是否有人可以提供帮助。谢谢。
代码 :-
#include <iostream>
#include <future>
#include <thread>
using namespace std;
int myValue(int i,promise<int> intPromise)
{
cout<<"In myValue()"<<endl;
intPromise.set_value(i);
}
int main()
{
cout<<"In main()"<<endl;
promise<int> myPromise;
future<int> result=myPromise.get_future();
thread myThread(myValue,10,move(myPromise));
cout<<"Value : "<<result.get()<<endl;
}
我在编译期间没有收到任何错误,但是在运行此程序时出现以下错误。
没有活动异常的终止被中止(核心转储)
虽然我得到了输出,但我也得到了这个错误。我在 Fedora 17 上使用 g++ 4.7.0。请帮忙。