我正在将一段代码从VC6移植到VS2008。代码typedef
的HSPRITE
为int
。但是Windows SDK 6.1已经通过HSPRITE
声明了DECLARE_HANDLE
。我不想在代码中重命名HSPRITE
,因为在.cpp文件中重命名会花费很多时间。那么,如何取消声明HSPRITE
?
最佳答案
最好的是@ybungalobill所说的。如果您绝对不能使用他的答案,也可以欺骗windows.h使其不声明,如下所示:
#define HSPRITE DeletedWinapi_HSPRITE// prevent windows.h from defining it
#include <windows.h>
#undef HSPRITE
typedef int HSPRITE;
关于c++ - 如何取消声明DECLARE_HANDLE?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7833992/