Please help fix this problem.Code:#include "..\Objects\Objects.h" class Idle; class Objects; class Goods; class Activity { public: Objects *Actor; Goods *Target; Activity() : Actor(0), Target(0) { } Activity( Objects* actor, Goods* target ) { Actor = actor; Target = target; } virtual bool OnUpdate(float seconds) = 0; void Update(float seconds) { if (OnUpdate(seconds)) { Actor->activity = new Idle(Actor, NULL); <<<< incomplete type is not allowed // activity is of type Activity * } } Activity *FindBestActivity(Objects *actor) { return NULL; } }; ///////////////////// #include "..\Objects\Objects.h" #include "Activity.h" #define MAX_IDLE_TIME 8 #define ACTIVITY_IDLE_ENERGY 1.0 class Objects; class Activity; class Idle : public Activity { private: float mTimeInIdle; public: Idle() : mTimeInIdle(0) { } Idle(Objects *actor, Goods *target) : Activity(actor, target) { } bool OnUpdate(float seconds) { mTimeInIdle += seconds; if (mTimeInIdle >= MAX_IDLE_TIME) { Actor->activity = FindBestActivity(Actor); } Actor->energy += ACTIVITY_IDLE_ENERGY * seconds; return false; } };
Thanks
Jack




Reply With Quote