class B; struct A { B* ptr; }; class B { public: }; int main() { return 0; }
A中定义了B的指针,所以要声明class B,在定义处于不完整类型之前,只能使用类的指针或者引用,在定义B之前是不能调用B的成员的。
好像还有一些细节。