我正在尝试将 packaged_task 包装在 lambda 中,以便将它们存放在容器中。我在下面编写了一个测试代码,用于模拟包装和调用 lambda 函数。我的代码如下:
int test()
{
return 10;
}
int main()
{
auto task = std::make_shared<std::packaged_task<int()>>(test);
auto result = task->get_future();
auto wrapper = [=]() { (*task)(); };
wrapper();
}
该程序因以下异常而中止:
抛出“std :: system_error”实例后调用终止what():未知错误-1中止(核心转储)
有人能解释一下为什么抛出异常吗?