我有一個完全實現的State類,如下所述。我還有一個繼承State類的PlayState類,它也被完全實現。我的編譯錯誤是 「playstate.h(6):錯誤C2504: '國家':基類未定義」 我在Global.h檢查它們的順序,State.h出現PlayState.h繼承錯誤「Base Class Unidentified」
前CODE:
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;
};
PlayState.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);
};
感謝
@ user692270:你能顯示你的'Global.h'看起來像什麼嗎? – 2011-04-08 09:38:49
你的意思是你在「Global.h」中包含「PlayState.h」,同時包含「Global.h」到「PlayState.h」? – 2011-04-08 09:42:43
@ user692270:對。你必須顯示「Global.h」內容和你編譯的* .cpp文件內容。 – 2011-04-08 09:45:42