头文件中的重复类声明

时间:2013-12-17 11:56:51

标签: c++ c++11

我正在使用一个非我写的c ++库。

某些头文件包含其他类,但仍然有类的“重复”空定义。这种行为的目的是什么?

#include "OtherClass.h"


class OtherClass;

class ThisClass {
    // definitions here
};

1 个答案:

答案 0 :(得分:2)

这是类的前向声明,它是一个没有完整标识符定义的声明。这有助于减少编译时间和循环依赖性。

在您的场景中,您只应包括或转发声明该类,但不能同时声明两者。