那不知道。应该至少不会出现递归了呀。
你把头文件中的代码全注释掉。就留那几个预处理指令,再重建一次,看看行不行。
你把头文件中的代码全注释掉。就留那几个预处理指令,再重建一次,看看行不行。
class B; class A { B* ptrToB; }; class B { A* ptrToA; };如果两个类互相包含,这样的写法是可行的。
/////main.cpp #include"man.h" #include<iostream> using namespace std; char ManOrWoman; int main() { put(); out(); cout<<"MAIN_CPP"<<endl; /*...*/ return 0; } /*...*/ //////man.h #ifndef MAN_H_ #define MAN_H_ #include<iostream> #include"woman.h" using namespace std; void put() { cout<<"MAN_H"<<endl; } /*...*/ //////woman.h #ifndef WOMAN_H_ #define WOMAN_H_ #include"man.h" #include<iostream> using namespace std; void out() { cout<<"WOMAN_H"<<endl; } /*...*/执行后输出: