首頁  >  文章  >  後端開發  >  為什麼我的 Win32 控制台應用程式中出現“錯誤 LNK2005:“int k”已定義”?

為什麼我的 Win32 控制台應用程式中出現“錯誤 LNK2005:“int k”已定義”?

DDD
DDD原創
2024-10-30 08:39:27920瀏覽

Why Am I Getting

Error LNK2005: "int k" Already Defined

當連結Win32 控制台應用程式與多個C 檔案時,出現錯誤「 error LNK2005:可能會出現「int k」(?a@@3HA) 已在A.obj 中定義。的範例中,A.cpp 和B.cpp 都定義了變數k。 🎜>解決方案:

要解決此錯誤,您可以使用以下方法:

使用無名命名空間(匿名命名空間):

如果變數k 打算對每個檔案私有,請使用無名命名空間來防止符號名稱衝突。定義它。並在單獨的編譯單元中定義。 🎜>B.cpp

透過在頭檔中將k 宣告為extern,其他檔案就可以存取和使用它無需重新定義它。

以上是為什麼我的 Win32 控制台應用程式中出現“錯誤 LNK2005:“int k”已定義”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn