【问题标题】:Visual C++ can't find "Windows types" like PVOID, DWORD, ULONG, etcVisual C++ 找不到“Windows 类型”,如 PVOID、DWORD、ULONG 等
【发布时间】:2016-08-20 00:55:41
【问题描述】:

Windows 似乎找不到任何这些类型,我完全不知道该怎么办。我在 MSDN 上找到的东西似乎表明它们默认包含在内,但它们在 Native 程序或 CLR 程序中不起作用。

我得到的具体错误是:

"<Project Name>.cpp(10): error C2065: 'PVOID' : undeclared identifier

"<Project Name>.cpp(10): error C2146: syntax error : missing ';' before identifier 'varname'

"<Project Name>.cpp(10): error C2065: 'varname' : undeclared identifier

如何让 Visual C++ 识别这些类型?

【问题讨论】:

  • 如果你还没有这样做的话,我认为你应该包括

标签: windows visual-c++


【解决方案1】:

您需要包含windows.h。在源文件的顶部添加这一行:

#include <windows.h>

【讨论】:

  • 谢谢你,做到了。我正在使用的代码甚至没有提到它。
  • 请注意,您不能在 MFC 应用程序中执行此操作:#error WINDOWS.H already included. MFC apps must not #include &lt;windows.h&gt;。这是通过默认的stdafx.h 隐式包含的。
  • 我正在开发 Visual Studio C++ 控制台应用程序,我必须添加两个头文件。 stdafx.h&lt;windows.h&gt;.
【解决方案2】:

您需要包含一个头文件来定义这些类型。仔细检查您获得类型名称的文档或示例,以查看要包含的标题。

【讨论】:

  • 样本甚至没有提到 windows.h,尽管它们到处都是 PVOID 和 ULONG……谢谢
【解决方案3】:

您必须包含 Windows 标头。 Windows 标头包含在默认自动生成的项目中——其中大部分。如果您改为启动一个空项目,则默认情况下不会包含它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多