我有一个需要指向子类的指针的类:
class A
{
protected :
B *pB;
}
class B : public A
{
}
但这不起作用。
答案 0 :(得分:4)
在开头提出前瞻声明:
class B;
class A
{
protected :
B *pB;
}
class A : public B
{
}
答案 1 :(得分:3)
你需要转发声明B否则编译器不知道B是否存在,如果它在A之后被监听。
class B;
class A
{
protected :
B *pB;
}
class A : public B
{
}
答案 2 :(得分:1)
转发声明class B
,它应该是class B: public A
,而不是相反。
即。
class B;
class A
{
protected:
B *pB;
}
class B: public A
{
}