bob*_*obo 0 c++ forward-declaration
我正在研究这个C++项目.
所有类的实现都与.h文件分开.
但是,我不确定为什么/何时需要前方声明.
例如,当我#included"ClassType.h"时,我刚刚遇到错误,编译器完全拒绝编译具有指向ClassType的指针的类,即使类ClassType 在"ClassType.h"中明确定义.
为什么编译器不能简单地看到我已经#included"ClassType.h",为什么它需要一个前向声明呢?
#include "ClassType.h"
// REFUSES TO COMPILE WITHOUT forward declaration
class ClassType;
class SomeClass
{
ClassType* instance;
};
Run Code Online (Sandbox Code Playgroud)