首頁 > 後端開發 > C++ > 為什麼我在 C 中得到對靜態成員的「未定義引用」?

為什麼我在 C 中得到對靜態成員的「未定義引用」?

Mary-Kate Olsen
發布: 2024-12-09 00:13:10
原創
290 人瀏覽過

Why Do I Get

了解靜態成員的未定義引用

使用包含靜態資料成員的類別時,您可能會遇到與「未定義引用”相關的錯誤。這可能是由於對聲明和定義缺乏清晰的理解。

宣告與定義

在類別宣告中,靜態資料成員通常被宣告但不被定義。該聲明確定了成員的存在和類型。但是,除非以需要位址的方式使用它,否則還不需要特定的定義。

要為靜態資料成員提供定義,應將其放置在包含實現的單獨來源檔案中為了班級。定義由成員名稱組成,前面是類別 :: 作用域運算符,後面跟著可選的初始值設定項。

常數例外

對於常數靜態成員對於整型或枚舉類型,可以在類別聲明中提供初始值設定項。這並不否定原始檔案中定義的需要,但它確保定義不包含初始值設定項。

範本

類別的靜態資料成員範本的定義不同。該定義與類別聲明一起包含在頭文件中。單一定義規則的這一例外允許為模板的每個實例化定義一次靜態成員。

靜態的其他用途

除了靜態資料成員之外, static也可以應用於非類別上下文中的函數和對象,其中它表示不同的含義:

  • 靜態函數:在函數作用域內聲明,這些函數在函數調用之間保留其值。
  • 靜態物件:在命名空間作用域中聲明的這些物件具有內部連結。

透過理解透過這些概念,您可以有效地處理 C 中的靜態資料成員並避免與未定義引用相關的錯誤。

以上是為什麼我在 C 中得到對靜態成員的「未定義引用」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板