我正在将一段代码从VC6移植到VS2008。代码typedefHSPRITEint。但是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/

10-12 14:55