我有以下程序,其中我有2个类,即A类和B类,其中每个类都有另一个类的实例声明为私有成员。
仅供参考,对于一个我正在使用动态分配(指针实例)的类而在另一个类中我正在使用自动分配(普通实例)。
(Program.h)
class A;
class B;
class A
{
A();
~A();
public:
void InitA();
void funcA;
private:
B b; // ERROR! on code compilation: "A::b uses undefined class B"
}
class B
{
B();
~B();
public:
void InitB();
void funcB;
private:
A *a;
}
</code>
(Program.cpp)
class A;
class B;
class A
{
A();
~A();
public:
void InitA();
void funcA;
private:
B b; // ERROR! on code compilation: "A::b uses undefined class B"
}
class B
{
B();
~B();
public:
void InitB();
void funcB;
private:
A *a;
}
</code>
错误:“A :: b使用未定义的B类”
现在,我故意没有在A类中声明B类的指针实例,我认为不应该是这个错误的原因。这个错误可能是因为我没有正确地做正面声明。