我写了两个带有这些依赖项的类。
//a.h
class B:
class A{
B *b ;
A() { b = new B(this);}
print();
}
// b.h
class A;
class B{
A* a;
B(A *_a){ this->a = _a }
void foo() { a->print(); } // here i have error : use of undefined type a
}
如果我评论' a-> print()'代码编译而另一个函数有效,但是当我在B类中使用A类指针时,我得到了这个错误:
"使用未定义的类型a"
任何人都可以解决我的问题吗?
由于
答案 0 :(得分:2)
您需要将方法的实现移到标头和内部实现文件之外。
要执行a->print();
或new B(this)
,需要完整的定义。