我使用了Using Waitable Timers with an Asynchronous Procedure Call中MSDN的示例来检查APC如何工作。但是,当我尝试编译此源代码时,它没有编译,这给了我以下错误:
C4700:使用了未初始化的局部变量'MyData'
此代码有什么问题?
答案 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");