DDraw-Surface in ner Methode returnen: Ich krieg die Krise
-
Folgendes Problem:
1. Ich erstelle eine FUNKTION, die eine DirectDraw-
Oberfläche zurückgibt:LPDIRECTDRAWSURFACE4 ReturnSurf(void) { LPDIRECTDRAWSURFACE4 lpDDSurface; return lpDDSurface;}
Das klappt.
2. Ich erstelle das selbe METHODE einer Klasse:
class MyClass { public: ... LPDIRECTDRAWSURFACE4 ReturnSurf(void); ...}; //------------------------------------------- MyClass::ReturnSurf(void){ LPDIRECTDRAWSURFACE4 lpDDSurface; return lpDDSurface;}
Das klappt NICHT:
"error C2040: 'ReturnSurf' : 'int (void)'
unterscheidet sich von 'struct'
IDirectDrawSurface4 *(void)' in bezug auf die
Anzahl vorgenommener Dereferenzierungen"Kann mir da jemand helfen?
-
Wo steht denn der Returnwert bei der Methodendefinition?
-
Vielleicht mal so probieren
//Klassendefinition s.o. LPDIRECTDRAWSURFACE4 MyClass::ReturnSurf(void){ LPDIRECTDRAWSURFACE4 lpDDSurface; return lpDDSurface;}
-
Also, man sollte auch bei Methoden wohl tatsächlich erst den Return-Typ (nenn ich's ma) vorher angeben
.
Danke und frohe Ostern!