我有一个GameObject类,它有一个Component和Transform的向量.Transform是一个Component,但可以自己访问.当我尝试在GameObject中包含Component.h和Transform.h时,我在Component上得到一个Base类未定义的错误.
错误信息:
Error 1 error C2504: 'Component' : base class undefined c:\users\pyro\documents\visual studio 2010\projects\engine\main\transform.h 9
Run Code Online (Sandbox Code Playgroud)
GameObject.h
#ifndef _GameObject
#define _GameObject
#include "Core.h"
#include "Component.h"
#include "Transform.h"
class Transform;
class Component;
class GameObject
{
protected:
Transform* transform;
vector<Component*> components;
};
#endif
Run Code Online (Sandbox Code Playgroud)
Component.h
#ifndef _Component
#define _Component
#include "Core.h"
#include "GameObject.h"
class GameObject;
class Component
{
protected:
GameObject* container;
};
#endif
Run Code Online (Sandbox Code Playgroud)
Transform.h
#ifndef _Transform
#define _Transform
#include "Core.h"
#include "Component.h"
//Base class undefined happens here
class Transform : public Component
{
}; …Run Code Online (Sandbox Code Playgroud)