Rumah >pembangunan bahagian belakang >C++ >Mengapa Saya Mendapat \'Rujukan Tidak Ditakrifkan\' kepada Ahli Statik dalam C ?
Memahami Rujukan Tidak Ditakrifkan kepada Ahli Statik
Apabila bekerja dengan kelas yang mengandungi ahli data statik, anda mungkin menghadapi ralat yang berkaitan dengan "rujukan tidak ditentukan." Ini boleh dikaitkan dengan kekurangan pemahaman yang jelas mengenai pengisytiharan dan definisi.
Pengisytiharan dan Definisi
Dalam pengisytiharan kelas, ahli data statik biasanya diisytiharkan tetapi tidak ditakrifkan . Pengisytiharan ini membuktikan kewujudan dan jenis ahli. Walau bagaimanapun, melainkan ia digunakan dalam cara yang memerlukan alamat, definisi khusus belum lagi diperlukan.
Untuk memberikan definisi bagi ahli data statik, ia harus diletakkan dalam fail sumber berasingan yang mengandungi pelaksanaan untuk kelas. Takrifan terdiri daripada nama ahli, didahului oleh kelas :: operator skop, diikuti dengan pemula pilihan.
Pengecualian untuk Pemalar
Untuk ahli statik yang const jenis integral atau penghitungan, pemula boleh disediakan dalam perisytiharan kelas. Ini tidak menafikan keperluan untuk definisi dalam fail sumber, tetapi ia memastikan bahawa definisi tidak mengandungi pemula.
Templat
Ahli data statik kelas templat ditakrifkan secara berbeza. Takrifan disertakan dalam fail pengepala bersama pengisytiharan kelas. Pengecualian kepada Peraturan Satu Definisi ini membolehkan ahli statik ditakrifkan sekali untuk setiap instantiasi templat.
Kegunaan statik lain
Selain ahli data statik, statik juga boleh digunakan pada fungsi dan objek dalam konteks bukan kelas, di mana ia menandakan berbeza makna:
Dengan memahami konsep ini, anda boleh mengendalikan ahli data statik dalam C dengan berkesan dan mengelakkan ralat yang berkaitan dengan rujukan yang tidak ditentukan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat \'Rujukan Tidak Ditakrifkan\' kepada Ahli Statik dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!