Frage

Ich portiere einen Code von VC6 nach VS2008.Der Code typedefs HSPRITE als int.Windows SDK 6.1 hat jedoch bereits HSPRITE über DECLARE_HANDLE deklariert.Ich möchte HSPRITE in meinem Code nicht umbenennen, da das Umbenennen in CPP-Dateien viel Zeit in Anspruch nimmt.Wie kann ich den HSPRITE deklarieren?

War es hilfreich?

Lösung

Das Beste ist, was @ybungalobill sagt.Wenn Sie seine Antwort absolut nicht verwenden können, können Sie windows.h auch dazu verleiten, sie nicht wie folgt zu deklarieren:

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

typedef int HSPRITE;

Andere Tipps

Der einzig richtige Weg besteht darin, den Header, der HSPRITE definiert, nicht einzuschließen, was möglicherweise keine Option ist.

Alternativ sollten Sie eine der folgenden Optionen überprüfen:

  1. Verwenden Sie HSPRITE wirklich als Int?Vielleicht können Sie die Definition von HSPRITE aus Ihrem Code entfernen und die in den Windows-Headern definierte verwenden.

  2. Verwenden Sie Suchen und Ersetzen, um HSPRITE in einen anderen Namen in Ihrem Code umzubenennen.Es ist eine Frage von wenigen Sekunden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top