C++类读取为变量,default-type int?说什么?

0 c++-cli

所以,我有两个类......结构非常基础.我尝试将一个导入另一个,并声明该类类型的新对象...但是,它似乎读取类名作为变量的名称?!

下面提供的头类不会正确读取"ApplicationManager"类.码:

####ifndef _GAME_H_  
####define _GAME_H_  
####include "application.h"  
####include "applicationmanager.h"  
class Game : public Application  
{  
public:  
    Game();  
    ~Game();  
    void LoadContent() override;  
    void UnloadContent() override;  
    void Draw() override;  
private:  
    //int ApplicationManager; //WHY DOES THIS COMPILE??!  
    ApplicationManager management; //This DOES NOT WORK?  
};  
####endif  
Run Code Online (Sandbox Code Playgroud)

这是"ApplicationManager"类的标题.码:

####ifndef _APPMANAGER_H_  
####define _APPMANAGER_H_  
####include "game.h"  
####include "application.h"  
class ApplicationManager  
{  
public:  
    ApplicationManager(void);  
    ~ApplicationManager(void);  
private:  
};  
####endif  
Run Code Online (Sandbox Code Playgroud)

发生的错误告诉我,我需要一个";" 在"管理"之前,并且"ApplicationManager"缺少类型说明符,因此假定它是默认类型int.

...任何想法为什么它不能正确编译?其他人可以尝试这个并报告结果吗?我复制了代码,并将其粘贴到另一个解决方案中,看看是否有东西被破坏了......它仍然无效.

Pao*_*tti 8

你有一个循环引用.当game.h包含它时applicationmanager.h,ApplicationManager编译器尚未读取该类.

要修复,请删除该行

#include "game.h"
Run Code Online (Sandbox Code Playgroud)

来自applicationmanager.h.