在头文件中定义命名空间类
Posted
技术标签:
【中文标题】在头文件中定义命名空间类【英文标题】:Defning a namespace class in a header file 【发布时间】:2015-05-31 02:57:56 【问题描述】:我遇到了与this 类似的问题,但不完全一样。
假设我们有 2 个头文件和一个 main.cpp。 在我们的第一个头文件中:
namespace Logic
class GameManager;
在第二个标题中:
#include "first_header.h"
class Logic::GameManager
public :
void init();
void run():
;
在 main.cpp 我有:
#include "first_header.h"
int main()
Logic::GameManager gm;
gm.init();
gm.run();
在我在 main.cpp 中包含第二个标头之前,我会收到此错误:
'gm' uses undefined class 'Logic::GameManager'
-这种使用命名空间和类的方式正确吗?
-有更好的方法吗?
谢谢。
【问题讨论】:
【参考方案1】:重新打开命名空间来定义类。
namespace Logic
class GameManager
public :
void init();
void run():
;
并包含来自main.cpp
的第二个标头,而不是第一个标头。编译器找不到类定义,除非它直接是#include
'd。
【讨论】:
以上是关于在头文件中定义命名空间类的主要内容,如果未能解决你的问题,请参考以下文章