Instanz einer Klasse in einer Klasse -> Error???
-
Ich versuche seit ein paar Tagen folgendes erfolglos:
Win32 Applikation (keine MFC), habe alle Funktionen (create window WndProc, etc) in eine Klasse "MyMainClass" getan. (Files:MyMainClass.cpp und MyMainClass.h)
Nun habe ich eine zweite Klasse z.b. PrintFunktionen (PrintFunc.cpp und PrintFunc.h).
Ich möchte nun in der Klasse MyMainClass eine Instanz der Klasse "PrintFunktionen" erstellen! In MyMainClass.cpp habe ichnatürlich "PrintFunc.h" inkludiert.
Doch Visual Studio meldet einen Fehler:
i:\...\MyMainClass.h(37): error C2146: syntax error : missing ';' before identifier 'PrintFuncInstanz'
i:\...\MyMainClass.h(37): error C2501: 'MyMainClass::PrintFunktionen' : missing storage-class or type specifiers
i:\...\MyMainClass.h(37): error C2501: 'MyMainClass::PrintFuncInstanz' : missing storage-class or type specifiersWie löse ich dieses Problem oder mache es richtig, falls meine Methode falsch war?
-
ein bisschen mehr Code würde nicht schaden...
-
MyMainClass.h :
class MyMainClass { public: int a; void TimerInit(void); static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); PrintFunktionen PrintFuncInstanz; // <- Line 37 };
-
class MyMainClass { private: int a; public: void TimerInit(); static LRESULT CALLBACK WndProc(HWND, UNIT, WPARAM, LPARAM); PrintFunktionen PrintFuncInstanz(); };
-
Inkludiere die PrintFunc.h in MyMainClass.h statt in der cpp Datei.
Ich hoffe Du hast einen Copy-Konstruktor in der PrintFunc klasse, da dieser
aufgerufen wird wenn Du eine Instanz der Klasse per Value zurücklieferst.
Es sei denn Du kommst mit dem Standard-Kopierkonstruktor aus!Gruss