我無法理解以下行爲:一個標頭包含一些基本類型,另一個標頭中我在幾個函數中使用這些類型。之後,我開始根據自己定義的類型和功能構建類。在函數頭,如果我離開以下特徵:內聯函數鏈接
void whateverFunction(parameters)
鏈接器指出,有whateverFunction的多個定義。現在,如果將其更改爲:
inline void whateverFunction(parameters)
聯動問題消失了,所有的編譯和鏈接好。我知道的內聯函數是用它的代碼替代每個函數調用,而不是它非常黑暗,所以我的問題是:
鏈接器如何處理C++中的內聯函數?
請參閱[「內聯的目的是什麼?」](http://stackoverflow.com/questions/3647053/what-is-are-the-purposes-of-inline)瞭解詳細信息尤其是* One Definition Rule *部分。 – 2010-11-16 11:41:36