如何取消声明DECLARE_HANDLE

How can I undeclare DECLARE_HANDLE?

本文关键字:声明 DECLARE HANDLE 取消 何取消      更新时间:2023-10-16

我正在将一段代码从VC6移植到VS2008。代码为typedef, HSPRITEint。但是Windows SDK 6.1已经声明了HSPRITEDECLARE_HANDLE。我不想在我的代码中重命名HSPRITE,因为在.cpp文件中重命名它会花费很多时间。那么,如何取消对HSPRITE的声明呢?

唯一正确的方法是不包括定义HSPRITE的标题,这可能不是一个选项。

或者,您应该查看以下其中一个:

  1. 你真的使用HSPRITE作为int吗?也许你可以从你的代码中删除HSPRITE的定义,并使用在windows的头文件中定义的。

  2. 使用查找和替换将HSPRITE重命名为代码中的其他名称;这只是几秒钟的问题。

最好是@ybungalobill说的。如果绝对不能使用他的答案,您也可以欺骗windows.h不声明它,像这样:

#define HSPRITE DeletedWinapi_HSPRITE// prevent windows.h from defining it
#include <windows.h>
#undef HSPRITE
typedef int HSPRITE;