我有一个需要指向子类的指针的类:
class A
{
protected :
B *pB;
}
class B : public A
{
}
但这不起作用。
在开头放一个前向声明:
class B;
class A
{
protected :
B *pB;
}
class A : public B
{
}
您需要转发声明 B,否则如果在 A 之后侦听,编译器将不知道 B 存在。
class B;
class A
{
protected :
B *pB;
}
class A : public B
{
}
前向声明class B
应该是class B: public A
,而不是相反。IE
class B;
class A
{
protected:
B *pB;
}
class B: public A
{
}