2011-04-06 50 views

回答

2

看起来最简单的是为你的结构创建一个头,然后将它包含在你的AA和BB中。

#ifndef __FOO__H__ 
#define __FOO__H__ 
struct foo { 

}; 
#endif 
1

我想你想在BB.h中使用foo。但是,您不能在BB.h中包含AA.h,因为它会引入循环依赖项,编译将失败。解决此问题的最简单方法是在单独的源文件中提供A::funa的实现(通常使用.cpp扩展名)。你只需要在头文件中声明funa();没有任何实现。如果你这样做,那么就不需要在AA.h中包含BB.h(你需要在AA.cpp中包含BB.h),从而避免循环依赖。

相关问题