inline函數的link錯誤

今天寫代碼的時候犯了一個很傻B的錯誤,將inline函數的聲明和定義分別放到了頭文件和源文件裏了。
結果導致link一直出錯,說找不到函數。
後來一查,發現inline函數的定義如果想給其它地方用,就必須把定義放在頭文件裏,或者在每個用到的地方再定義一次。
因爲inline函數只是在編譯時進行擴展,如果將定義放到cpp文件裏,其它地方將找不到inline函數的定義。它不會像其它函數那樣會link過去。
原以爲這是symbian c++的特性,後來才知道是通用的,看來還是基礎不夠紮實!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章