expected constructor/Deconstructor/Typdef. Und weiß nicht warum.
-
Hallo,
also zu meinem Problem, der Code hat eigentlich schon immer funktioniert, jetzt habe ich an einer anderen Klasse weitergearbeitet, und auf einmal meldet er mir hier immer einen Fehler?#include "guitypes/Layer.hpp" namespace aw { namespace gui { ///////////////// // Publicfuncs // ///////////////// void AddLayer(); void MouseMoved(); void MouseLeftClick(); void MouseLeftRelease(); void Draw(); //////////// // Getter // //////////// Layer *GetLayer(unsigned int); } }Layer ist eine Klasse.
error: expected constructor, destructor, or type conversion before '*' token|
(bezieht sich auf die Funktion "Layer *GetLayer(unsigned int);"Hoffe ihr könnt mir helfen
mfg Alexander
-
-
Schwer zu sagen. Könnte irgendein Tippfehler in dem Layer-Header sein.
Aber ein kleiner Hinweis:
Bei Pointern und Rückgabewerten reicht eine Forward-Deklaration, da kannst du dir das incude sparen und in die cpp-Datei veschieben.
-
Warum ist denn GetLayer als eine freie Funktion deklariert? Irgendwie scheint die Klasse Layer für mich verbesserungsbedürftig zu sein.
-
Edit2: So das Problem hat sich erledigt dank diesem Thread
http://www.c-plusplus.net/forum/311039Meine Header haben sie gegeneinander includiert (über Umwege...)
-
Alex126 schrieb:
Hat die Forward-Deklaration eigentlich einen Vorteil?
Unter anderem eine Reduzierung der Abhängigkeiten während der Compilierung (Kann dadurch Zeit sparen). Zudem handelt es sich hier um eine Möglichkeit zyklische Verweise aufzulösen.
-
Und genau so ein zyklische Verweis war der Fehler.
Also Danke für eure Hilfe
mfg Alexander
P.S kann geschlossen werden