MFC-Makro-Problem (IMPLEMENT_SERIAL) !!
-
Verwende ich folgendes:
class C1 : public CObject { public: DECLARE_SERIAL(C1); }; IMPLEMENT_SERIAL( C1, CObject, 0);
Läuft es perfekt!
Fehler bei:
class C1 : public CObject { public: typedef CObject BASE; DECLARE_SERIAL(C1); }; IMPLEMENT_SERIAL( C1, (C1::BASE), 0);
Fehler: Instanz von abstrakter Klasse kann nicht angelegt werden!
Hat jemand die Lösung?
-
Ich bekomme da "error C2589: 'class' : illegal token on right side of '::'"
Aus dem 2. Parameter von IMPLEMENT_SERIAL wird ein Struktur-Name gemacht (z.B. classCObject)
Da musst du schon das Makro auseinandernehmen und entweder dir selber ein Marko schreiben oder es ohne Makro hinschreiben.
-
ach stimmt ja, diese komischen Makros ersetzen den Namen so, wie er ist