Salve! Ho un problema. Nel mio progetto ho una classe "MovableUnit" che deriva da "Unit".
MovableUnit.h:
Il problema è che quando mi compila Unit.cpp, include ovviamente Unit.h, che include "Application.h" che include anche "MovableUnit.h"codice:#ifndef _MOVABLEUNIT_H_ #define _MOVABLEUNIT_H_ #include "Unit.h" #include <OgreNewt.h> class Application; class Unit; class MovableUnit : public Unit{ public: MovableUnit(Application* game,SceneManager* mSceneMgr,OgreNewt::World* m_World); private: protected: }; #endif
e mi restituisce questo errore:
Unit.cpp
f:\cadue\c++\strategy\source\MovableUnit.h(9) : error C2504: 'Unit': classe base non definita
Praticamente se una classe A deriva da B la classe B non può includere l'header di A? Se è così non so proprio come fare, perchè dovrei dire ad Unit.h di includere Application.h ma NON includere "MovableUnit.h" che però Application.h include a sua volta.
Non ci capisco proprio niente! Qualcuno ha idea di come risolvere?

Rispondi quotando