我在自己的文件中有一个名为GameState的类,该类有一个指向另一个StatusView类型对象的指针,该对象位于自己的文件中。在GameState.h中,我已经包含了StatusView标头,但是当我尝试编译它时,我收到错误:
missing type specifier - int assumed
然而,当我在包含它之后转发声明StatusView时,我能够编译它。我不知道是什么导致要求转发声明该类。
答案 0 :(得分:6)
标题之间存在循环依赖关系。 A包括B和B包括A,但是B 不确实包含A,因为#pragma once
已经针对A进行了评估。(对于标准的头部保护,它将是相同的。)
因为内部包含被忽略了,就好像它根本就不存在,你需要前向声明。