我有一個文件「mtm_ex4.h
」這是我想要的(真正需要)宣佈幾個數據類型爲「fan.h
」文件來使用。在循環依賴包括文件
的問題是,我使用一些其他的數據類型,其中以「fan.h」
我怎樣才能解決這個循環依賴宣佈「mtm_ex4.h
」?
我有一個文件「mtm_ex4.h
」這是我想要的(真正需要)宣佈幾個數據類型爲「fan.h
」文件來使用。在循環依賴包括文件
的問題是,我使用一些其他的數據類型,其中以「fan.h」
我怎樣才能解決這個循環依賴宣佈「mtm_ex4.h
」?
也許您是「允許」創建正向聲明標題爲嗎?這樣的頭部(例如<iosfwd>
)聲明類型,所使用的是允許一些/全部的完整報頭的(例如<iostream>
)功能常數等等,雖然一些類型可以是不完整的,只通過指針或參考使用。從現有的頭文件中包含這樣的頭文件以確保它們保持同步,並且至少那些不會引入不需要的相關性的東西(即,需要支持#includes
,耦合客戶端對私有成員/函數體的內聯實現) ),以確保一個權威的定義。如果您在一個團隊或公司工作,維護主標題的團隊也應該維護前向聲明標題。
不過,你顯然有限制的工作,所以可能要挑害相權取其較小....
你可以像COMMON.H文件,這將宣佈由mtm_ex4.h和fan.h使用這兩種類型,使這兩個文件的依賴從COMMON.H。
還有一個問題,我不允許修改「mtm_ex4.h」 ...... –
@Doppelganger那麼你爲什麼不把這些關鍵的細節放在你的問題中? – juanchopanza
原因,否則這個問題是微不足道的...... –