2011-04-06 87 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),從而避免循環依賴。

相關問題