Fehler beim Kompilieren eines DirectX-Programms

Ich wollte unter C++ eine DirectX-Demo kompilieren und erhielt folgenden Fehler:

Kompilierung läuft…
Demosys.cpp
C:\tutors\PCmag\directX\Demosys.cpp(180) : error C2440: ‚=‘ : ‚void *‘ kann nicht in ‚struct HBRUSH__ *‘ konvertiert werden
Konvertierung von ‚void*‘ in Zeiger auf nicht-‚void‘ erfordert eine explizite Typumwandlung
Fehler beim Ausführen von cl.exe.

Main.exe - 1 Fehler, 0 Warnung(en)

was kann ich da machen?

Hallo Reaper,

versuch’s doch mal mit einem Typecast.

Du hast wahrscheinlich in etwa sowas deklariert:

HBRUSH *hBrush;
void *lpVoid;

Du mußt folgendes tun, um lpVoid hBrush zuweisen zu können:

hBrush = (HBRUSH *)lpVoid; /* C */

oder

test = reinterpret_cast(test2);
// C++

Mit dem Typecast (in Klammern) gibst Du lpVoid explizit den Typ „Zeiger auf HBRUSH“.

–Mathias Ricken