0

コードの一部をVC6からVS2008に移植しています。コードtypedefHSPRITEとしてint。ただし、WindowsSDK6.1はすでに。HSPRITEを介して宣言されていDECLARE_HANDLEます。HSPRITE.cppファイルで名前を変更するのに多くの時間がかかるため、コードで名前を変更したくありません。では、どうすれば宣言を取り消すことができHSPRITEますか?

4

2 に答える 2

3

唯一の正しい方法は、オプションではない可能性がある HSPRITE を定義するヘッダーを含めないことです。

または、次のいずれかをチェックアウトする必要があります。

  1. 本当に HSPRITE を int として使っていますか? おそらく、HSPRITE の定義をコードから削除して、Windows のヘッダーで定義されているものを使用できます。

  2. 検索と置換を使用して、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 に答える