當我有一個共同的功能類。基本的東西,只是我的項目中可以使用幾個類的函數。但我試圖添加一個結構數組,以便幾個類可以將它們用於某些事情。我從另一個Class(Class 1)中移除了這個數組,並將它們添加到我的CommonFunctions類中。他們只會被閱讀。鏈接誤差加法陣列常用功能類
但是我得到錯誤:
CommonFunctions.obj:錯誤LNK2005: 「結構pup_file *幼崽」(幼仔@@ 3PAUpup_file @@?A)在Class1.obj已經定義 錯誤LNK2005:「結構pup_file *幼崽」在Class1.obj已經定義
致命錯誤LNK1169(幼崽@@ 3PAUpup_file @@?A):一個或多個多重定義符號找到
然後在項目的所有其他類(使用CommonFunctions所以他們真的)我得到
error LNK2005:「struct pup_file * pups」(?pups @@ 3PAUpup_file @@ A)已經在main.obj中定義了
任何人都可以幫我理解這裏發生了什麼?
看到一些代碼,將真正幫助。我懷疑你正在定義標題內的功能,而不是使用「內聯」。 – Goz 2012-02-02 11:24:55
不幸的是,我真的不能在網上發佈代碼。但是,我試圖在頭文件中定義它。我只是想使其成爲內聯和它說: 「內聯」不固定數據聲明 – discodowney 2012-02-02 11:30:45
允許的。我必須使數組靜態。 Cos CommonFunctions被用於大量文件中,每次包含文件時都會定義多次。讓它變成靜態就是一次。 (至少這就是我收集的) – discodowney 2012-02-02 11:42:31