我有4个文件,
HomeScene.h
HomeScene.cpp
Options.h
Options.cpp
两个 *.h
文件都包含另一个 *.h
。
现在我试图在 Options.h 中继承 HomeScene.h
class OptionScene : public cocos2d::CCLayerColor,HomeScene
上面一行给出了很多错误。
class OptionScene : public cocos2d::CCLayerColor
上面一行没有错误
我的 HomeScene.h
中有一个 static bool var;
我正试图在我的选项场景中直接使用它。
最佳答案
为什么需要在 HomeScene.h
中包含 Options.h
?如果 OptionScene
是从 HomeScene
派生的类型,那么我不知道您为什么需要这样做。
如果您只需要声明指向在 Options.h
中声明的类型的指针/引用,您可以使用前向声明。
选项.h
#include "HomeScene.h"
class OptionScene
{
// ...
};
HomeScene.h
class OptionScene; // forward declaration
class HomeScene
{
OptionScene* o;
};
如果这是你的问题,那么这个问题将帮助你:When can I use a forward declaration?
关于c++ - 如何继承#include 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9111538/