如何避免递归头

时间:2018-11-12 18:56:31

标签: c++ header include

我有一个名为Core.h的文件,其中定义了一个名为GAME_STATES的枚举,在此文件中包含Header GameManager.h,其中包含我在Core.h中需要的名为GameManager的类。

到目前为止,一切正常,但是现在我想在GameManager.h中添加一个返回GAME_STATE的函数

如果我尝试创建该函数,则会收到错误消息,提示未定义GAME_STATES

但是如果我包含Core.h(以便能够创建函数),我会在Core.h内部得到错误

我曾经尝试使用#pragma和警卫队,但仍然出现错误

#ifndef CORE_H
#define CORE_H

#include "GameManager.h"

enum GAME_STATES{
    menu,
    game,
    quit
};

class Core
{
    private:
    GameManager* gameM;
}

#ifndef GAMEMANAGER_H
#define GAMEMANAGER_H

#include "MyTexture.h"
//#include "Core.h"

class GameManager
{
public:
    //GAME_STATES HandleEvent(SDL_Event* e, SDL_Renderer* mainR);
}

0 个答案:

没有答案