Создание задачи в C++/UWP
Я пытаюсь создать задачу в VS2019 UWP C++. У меня есть код:
IAsyncAction ^frame;
auto frame_task = create_task(frame);
frame_task.then([this]()
{
// Noop
});
Я хочу создать бесконечный цикл, который периодически обрабатывает кадры там, где находится Noop. Этот код компилируется, но выдает исключение и утверждает, что это NULL. Возможно, я не предоставляю возвращаемое значение лямбды? Любые предложения приветствуются. благодаря
1 ответ
Решение
Непонятно, для чего предназначен IAsyncAction в этом контексте. Если вы используете код как есть, должно быть сгенерировано исключение, потому что "frame" равен nullptr. Если вы просто хотите создать простую задачу, поместите лямбда-выражение прямо в create_task().
auto frame_task = create_task([this]()
{
// Noop
});
... Или иначе, если вам также нужно получить IAsyncAction, используйте вместо этого create_async() и оберните его задачей.
IAsyncAction ^frame = create_async([this]()
{
// Noop
});
auto frame_task = create_task(frame);