小编Mat*_*hew的帖子

c ++基类未定义.在另一个类中包含base和subclass

我有一个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)

c++ inheritance

2
推荐指数
1
解决办法
7013
查看次数

标签 统计

c++ ×1

inheritance ×1