背景:我的這個工程里有多個命名空間,之所以是這樣是因為,有一個跟蹤算法他本身有幾個namespace,然后我在他的基礎上進行整合代碼,將其作為一個功能接口,供其他函數調用,我在整合代碼時,將我新加的類放在一個新的namespace中。
所以我在namespace中添加了class FDSSTTracker,,
我是這樣調用的,剛開始,這里 FDSST是我新創建的namespace, 我需要在System類中初始化FDSSTTracker的指針對象,
FDSSTTracker* mpFdsster;
?然后在System的構造函數中初始化指針對象。
mpFdsster = new FDSSTTracker(mHog, mFixWindow, mMultiScale, mLab);
我編譯的時候出現如下錯誤:“incomplete type is not allowed”
我倒騰了半天,網上也眾說紛紜,最后我放棄了,自己慢慢看代碼,我無意中嘗試將放在namespace中的class FDSSTTracker;語句去掉,代碼竟然編譯通過了。
上面class Tracking; class Capturing;之所以可以這樣用,大概因為他們幾個類都在一個namespace下,而FDSSTTracker類不在這個namespace下,所以就出錯了,其實都沒必要加,我試了一下,只要添加了對應的頭文件,就可以了。
?
?