コードの一部をVC6からVS2008に移植しています。コードtypedef
はHSPRITE
としてint
。ただし、WindowsSDK6.1はすでに。HSPRITE
を介して宣言されていDECLARE_HANDLE
ます。HSPRITE
.cppファイルで名前を変更するのに多くの時間がかかるため、コードで名前を変更したくありません。では、どうすれば宣言を取り消すことができHSPRITE
ますか?
2 に答える
3
唯一の正しい方法は、オプションではない可能性がある HSPRITE を定義するヘッダーを含めないことです。
または、次のいずれかをチェックアウトする必要があります。
本当に HSPRITE を int として使っていますか? おそらく、HSPRITE の定義をコードから削除して、Windows のヘッダーで定義されているものを使用できます。
検索と置換を使用して、HSPRITE の名前をコード内の別の名前に変更します。それは数秒の問題です。
于 2011-10-20T13:08:18.567 に答える
1
@ybungalobillの言うことは最高です。彼の答えを絶対に使用できない場合は、次のように windows.h をだまして宣言しないようにすることもできます。
#define HSPRITE DeletedWinapi_HSPRITE// prevent windows.h from defining it
#include <windows.h>
#undef HSPRITE
typedef int HSPRITE;
于 2011-10-20T13:13:12.130 に答える