这个代码我写的时候一直报错,就b了狗了
class b;
class a
{
public:
b* x;
a():x(new b){};///<这里编译错误
};
class b
{
public:
int bb;
};
报的编译错误,我写菊读图的时候明明试过,知道b在声明之前就调用是不行的,但是我有声明啊???原来前向声明并不是万能的,不是说我声明了就可以随意使用。你只能定义该类型的引用和指针,像我图中的做法就是定义了一个对象,这肯定是不允许的,那怎么才能正常呢?所有函数都设置成外联的,把外联函数的定义放到class b的定义后面。这一点c++就不如java了