为什么有些时候"前瞻性宣言"在标题中给了我" Field有不完整的类型"?

时间:2014-05-12 00:15:03

标签: c++ visual-c++

在A类中包含一个B类对象

ClassB;
class A
{
    private:
    ClassB b;
}

有时声明classB就足够了,有时,我必须使用#include" ClassB.h",为什么?使用这两个时有什么不同吗?

1 个答案:

答案 0 :(得分:0)

当向前声明一个类时,您只能使用前向声明的类作为引用或指针,因为此时编译器不知道此类型的大小。 Here's一个很好的stackoverflow帖子,关于你能做什么,不能用前向声明做什么。