我遇到与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'
- 这种使用命名空间和类的方式是否正确?
- 有更好的方法吗?
感谢。
答案 0 :(得分:1)
重新打开命名空间以定义类。
(?![\]\)]),
并在namespace Logic {
class GameManager
{
public :
void init();
void run():
};
}
中添加第二个标题,而不是第一个标题。除非直接main.cpp
'd。