-1
class A;
class B;
class A
{
public:
A(B * b) : b(b)
{
b->foo(this);
}
private:
B * b;
};
class B
{
public:
void foo(A *)
{}
};
사용하여 클래스를 만들려면 나에게이 코드를 컴파일 서로
incomplete-type.hpp: In constructor ‘A::A(B*)’:
incomplete-type.hpp:9:4: error: invalid use of incomplete type ‘class B’
b->foo(this);
^~
을 제공하지만 난 정말 포인터를 통해 서로를 사용하는 클래스가 필요합니다. 어떻게해야합니까?
클래스 정의 외부와 두 클래스가 모두 정의 된 후 생성자를 정의하십시오. – wally