例如,我有一个A级辩护
class A {
...
}
在a.h
b.h中的和B
class B {
...
}
#include "b.h"
而在b.h中我需要#include "a.h"
但它是编译器的递归错误。
我可以在一个文件中使用预防措施来欺骗它
class A;
class B {
...
}
class A {
...
}
但为了清楚起见......我想将它们彼此分开,我该怎么做呢?
答案 0 :(得分:2)
前进声明是要走的路:
//B.h
class A;
class B
{
};
和
//A.h
class B;
class A
{
};
请注意,如果您需要完整类型,则不会起作用,即相应的其他类需要类型为A
或B
的数据成员(方法参数,返回类型,指针或引用可以使用不完整的类型。)