将等待计时器与异步过程调用一起使用

时间:2020-11-08 10:19:48

标签: c++ winapi

我使用了Using Waitable Timers with an Asynchronous Procedure Call中MSDN的示例来检查APC如何工作。但是,当我尝试编译此源代码时,它没有编译,这给了我以下错误:

C4700:使用了未初始化的局部变量'MyData'

此代码有什么问题?

1 个答案:

答案 0 :(得分:1)

如果直接在C ++中使用链接中的示例,则以下代码将出现错误(因为C ++严格匹配字符串的类型)。

MyData.szText = TEXT("This is my data");

C2440'=':无法从'const wchar_t [16]'转换为'TCHAR *'

因此,也许您可​​以像这样使用lstrcpy(或strcpy)函数:

lstrcpy(MyData.szText, TEXT("This is my data"));

这将触发C4700错误:

C4700:使用了未初始化的局部变量'MyData'

您可以尝试使用cast,它对我有用:

MyData.szText = (TCHAR *)TEXT("This is my data");