C++ WinRT中的异步方法不能返回void,必须返回值类型为IAsyncAction的类型。如果必须使用void,则需要使用co_await操作符将异步操作转换为同步操作或使用Task封装异步操作。
示例代码:
// 异步方法返回 Task 类型
winrt::Windows::Foundation::IAsyncAction MyAsyncMethod()
{
co_await winrt::resume_background();
co_return;
}
// 使用 Task封装异步操作
winrt::Windows::Foundation::IAsyncAction MyAsyncMethod()
{
co_return winrt::resume_background();
}