猿问

c++问题:怎么在一个类前面声明另一个类

下面的代码为什么会报错:
#include "iostream"
using namespace std;
class B;
class A
{
friend class B;
B b;
};
class B
{
public:
};
void main()
{
}

白板的微信
浏览 1035回答 1
1回答

守着星空守着你

因为在A的定义里面有B b;定义b这个私有成员变量。class B只是类的声明,只能使用它定义引用或指针,而要是使用B定义对象,必须把B的定义写在A的前面,如果B是在另一个头文件,也要先#include 那个头文件才行。
随时随地看视频慕课网APP
我要回答