首页 > 解决方案 > 使用带有异步过程调用的等待计时器

问题描述

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

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

这段代码有什么问题?

标签: c++winapi

解决方案


如果直接在C++中使用链接中的示例,下面的代码会报错(因为C++严格匹配字符串的类型)。

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

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

所以也许你像这样使用lstrcpy(or strcpy) 函数:

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

这将触发 C4700 错误:

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

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

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

推荐阅读