【发布时间】:2013-12-17 11:56:50
【问题描述】:
我正在使用不是我编写的 c++ 库。
一些头文件包含其他类,但仍然有类的“重复”空定义。这种行为的目的是什么?
#include "OtherClass.h"
class OtherClass;
class ThisClass {
// definitions here
};
【问题讨论】:
-
对我来说似乎毫无意义。我还没有找到这样做的充分理由。
我正在使用不是我编写的 c++ 库。
一些头文件包含其他类,但仍然有类的“重复”空定义。这种行为的目的是什么?
#include "OtherClass.h"
class OtherClass;
class ThisClass {
// definitions here
};
【问题讨论】:
这是一个类的前向声明,它是一个没有完整定义标识符的声明。这有助于减少编译时间以及循环依赖。
在您的场景中,您应该只包含或转发声明该类,但不能同时包含或转发。
【讨论】: