gpt4 book ai didi

c++ - 继承错误 "Base Class Unidentified"

转载 作者:搜寻专家 更新时间:2023-10-31 00:46:06 32 4
gpt4 key购买 nike

我有一个完全实现的 State 类,如下所述。我还有一个继承 State 类的 PlayState 类,它也已完全实现。我的编译错误是“playstate.h(6): error C2504: 'State' : base class undefined”我查看了他们在Global.h中的顺序,State.h出现在PlayState.h之前

代码:
STATE.H

#pragma once

#include "Global.h"

class State
{
public:
State(void);
virtual ~State(void);

virtual void Input(INPUTDATA* InputData);
virtual void Logic(OBJECT go[], INPUTDATA* InputData);
virtual void Render(OBJECT go[]);
virtual void InitGame(OBJECT go[]);
virtual void LoadGraphics(void);

void Toggle();
bool IsEnabled();

private:
bool isEnabled;

};

播放状态.h

#include "Global.h"

class PlayState : public State
{
private:
#define UPDATESPEED 1000 // milliseconds between each update

// global variables
float camXAngle;
float camYAngle;
float camZoom;
int updatetime;
bool gameover;
float runspeed;
D3DLIGHT9 light;

SPRITE graphics;
SPRITE particleTexture;
MODEL terrain[2];
MODEL sky;

public:
PlayState();
~PlayState();

void Input(INPUTDATA* InputData);
void Logic(OBJECT go[], INPUTDATA* InputData);
void Render(OBJECT go[]);
void InitGame(OBJECT go[]);
void LoadGraphics(void);
};

谢谢

最佳答案

如果某些 *.cpp 包含“State.h”但前面某处没有“Global.h”,那么您将遇到您发布的错误。

因为当“State.h”包含“Global.h”时,“Global.h”不包含“State.h”(因为#pragma once)但它包含“PlayState。 h"所以最后你在定义 class State 之前包含了 "PlayState.h"。

只是不要制作这种奇怪的圆形夹杂物。

关于c++ - 继承错误 "Base Class Unidentified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5593106/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com