首頁 > 後端開發 > C++ > 主體

為什麼我會收到靜態物件的「無法解析的外部符號」錯誤 (LNK2001)?

Barbara Streisand
發布: 2024-11-01 01:53:02
原創
878 人瀏覽過

Why Am I Getting an

解決靜態物件的無法解析的外部符號錯誤(LNK2001)

嘗試將值分配給一個類別中的靜態欄位在main方法中,您遇到了無法解釋的錯誤,「無法解析的外部符號」。此錯誤表示連結器在連結過程中無法找到靜態成員變數的定義。

根據 C 參考,類別定義中靜態資料成員的宣告不是定義。這意味著您不能在類別本身內定義靜態成員變數。若要解決此錯誤,您必須在命名空間範圍內的類別外部定義靜態成員。

在您的情況下,您應該在B::a >B類,如下:

<code class="cpp">A* B::a;</code>
登入後複製
這保證了連結器能夠成功定位到靜態成員變數的定義。透過遵循單一定義規則 (ODR),確保程式中的每個實體只有一個定義,編譯器可以解析外部符號並成功連結程式碼。

以上是為什麼我會收到靜態物件的「無法解析的外部符號」錯誤 (LNK2001)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!