Salve! Ho un problema. Nel mio progetto ho una classe "MovableUnit" che deriva da "Unit".
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
Il problema è che quando mi compila Unit.cpp, include ovviamente Unit.h, che include "Application.h" che include anche "MovableUnit.h"
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?