我正在尝试在 VS2019 UWP C++ 中创建一个任务。我有这段代码:
IAsyncAction ^frame;
auto frame_task = create_task(frame);
frame_task.then([this]()
{
// Noop
});
我想要做的是有一个无限循环,在 Noop 所在的地方定期进行帧处理。此代码编译但抛出异常并声称这是 NULL。也许我没有为 lambda 提供返回值?欢迎任何建议。谢谢
我正在尝试在 VS2019 UWP C++ 中创建一个任务。我有这段代码:
IAsyncAction ^frame;
auto frame_task = create_task(frame);
frame_task.then([this]()
{
// Noop
});
我想要做的是有一个无限循环,在 Noop 所在的地方定期进行帧处理。此代码编译但抛出异常并声称这是 NULL。也许我没有为 lambda 提供返回值?欢迎任何建议。谢谢
目前尚不清楚 IAsyncAction 在这种情况下的用途。如果您按原样使用代码,则会抛出异常,因为“框架”是 nullptr。如果你只是想创建一个简单的任务,直接把 lambda 表达式放在 create_task() 中。
auto frame_task = create_task([this]()
{
// Noop
});
...否则,如果您也需要获取 IAsyncAction,请改用 create_async() 并将其与任务一起包装。
IAsyncAction ^frame = create_async([this]()
{
// Noop
});
auto frame_task = create_task(frame);