在C+中创建任务+/超宽带 我试图在VS2019 UWP C++中创建一个任务。我有一段代码: IAsyncAction ^frame; auto frame_task = create_task(frame); frame_task.then([this]() { // Noop });

在C+中创建任务+/超宽带 我试图在VS2019 UWP C++中创建一个任务。我有一段代码: IAsyncAction ^frame; auto frame_task = create_task(frame); frame_task.then([this]() { // Noop });,uwp,visual-studio-2019,c++-cx,iasyncoperation,Uwp,Visual Studio 2019,C++ Cx,Iasyncoperation,我想做的是有一个无限循环,在Noop所在的位置周期性地进行帧处理。此代码进行编译,但引发异常并声明为NULL。也许我没有为lambda提供返回值?欢迎任何建议。谢谢现在还不清楚iSyncaction在这种情况下的作用。如果您按原样使用代码,将引发异常,因为“frame”是null ptr。如果您只想创建一个简单的任务,请将lambda表达式直接放在create_task()中 。。。否则,如果您也需要获取IAsyncation,请改用create_async()并用任务包装它 IAsyncAct

我想做的是有一个无限循环,在Noop所在的位置周期性地进行帧处理。此代码进行编译,但引发异常并声明为NULL。也许我没有为lambda提供返回值?欢迎任何建议。谢谢

现在还不清楚iSyncaction在这种情况下的作用。如果您按原样使用代码,将引发异常,因为“frame”是null ptr。如果您只想创建一个简单的任务,请将lambda表达式直接放在create_task()中

。。。否则,如果您也需要获取IAsyncation,请改用create_async()并用任务包装它

IAsyncAction ^frame = create_async([this]()
{
    // Noop
});
auto frame_task = create_task(frame);

很好,我用了第一个例子。谢谢
IAsyncAction ^frame = create_async([this]()
{
    // Noop
});
auto frame_task = create_task(frame);