【问题标题】:How can I use the types WORD, UCHAR, ULONG, USHORT in C++?如何在 C++ 中使用类型 WORD、UCHAR、ULONG、USHORT?
【发布时间】:2014-02-04 08:08:43
【问题描述】:

我在 Visual Studio 2010 中创建了一个 Win32 控制台项目。在这个项目中,我想使用一个带有相应 headers 的外部库。头文件包括声明为的变量

  • UCHAR
  • 乌龙
  • USHORT

如上所述,大写。在 C++ 中进行的编程很少,我无法识别这些类型,并且包含它们的每一行代码都会出错:

WORD myVariable;

错误:

错误 C2146:语法错误:缺少 ';'在标识符“myVariable”之前

这可能是一件非常简单的事情,但希望能得到一些帮助来增加我的 C++ 知识。

我需要什么才能使用这些类型?

【问题讨论】:

  • 如果您认为这个问题不好并且需要被否决,请发表评论。

标签: c++ windows visual-studio-2010


【解决方案1】:

这些类型在windows.h中定义,所以你需要把#include <windows.h>放在某个地方。

在你的情况下,你可能需要把它放在你提到的外部库的标题之前:

#include <windows.h>
// Possibly other stuff here...
#include <external-library.h>

【讨论】:

  • 实际上,您只需要windef.h 即可定义所有这些类型。
  • u_short 未定义,仅包含 windef.h,但在包含 windows.h 时有效。
【解决方案2】:

在源文件的第一行添加#include &lt;windows.h&gt; 行应该可以修复这个错误。

如果添加标题仍未解决您的问题,您可能会按 此顺序添加标题:

#include <any-header-other-than-windows.h>

#include <windows.h>

相反,您必须按这个顺序:

#include <windows.h>

#include <any-header-other-than-windows.h>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多