BloggerAds

2016年5月26日 星期四

[心得] Forward Declaration

最近跟美國的某同事跨海在解決程式上編譯的問題時,他請我用 Forward Declaration 或是把 Include 放到 CPP 裡面。

恩~什麼是 Forward Declaration,在網路上查到個文章:
程序員筆記: forward declaration: 一個小技巧,說真的,在我得知這個技巧時還蠻驚訝的 :P 驚訝之餘也感嘆自己見識太少與能力不足, 竟然有如此巧妙的技巧可以取代我一直覺得理所當然的事
看了一下原來是早已習以為常的一個使用方法,很快的我把程式裡對應的部分修改了一下,但還是有些問題沒解決,主要是雖然把 Header 檔案移至 CPP 裡面了,但不幸的是專案同時有兩個 CPP 檔案同時用了相同的這個 Header 檔案,而這個 Header 檔案裏面包含 class 的實作,所以會出現兩個 OBJ 檔案同時存在相同的實作,造成連結時發生錯誤!這要注意一下!並不是所有的 Header 檔案都適合使用這種方式遷移的!