Dalam C , pembolehubah ahli statik ialah pembolehubah kelas yang wujud secara bebas daripada sebarang contoh objek . Ia biasanya dimulakan pada masa penyusunan dan boleh dikongsi oleh semua kejadian kelas.
Walau bagaimanapun, jika anda mengisytiharkan pembolehubah ahli statik tanpa memberikan definisi, pengkompil akan menghasilkan mesej ralat tentang "rujukan tidak ditentukan ." Ini kerana pengkompil perlu mengetahui lokasi memori pembolehubah statik untuk menjana kod yang mengaksesnya.
Untuk menyelesaikan ralat ini, anda mesti memberikan definisi untuk pembolehubah ahli statik dalam fail sumber ( .cpp fail). Takrifan harus mempunyai nama yang sama seperti pengisytiharan dalam fail pengepala (.h fail), tetapi harus didahului oleh pengendali skop (::). Contohnya:
// header file class Example { public: static int x; }; // source file int Example::x;
Ini akan menentukan lokasi memori untuk pembolehubah statik x dan membenarkan pengkompil menjana kod yang mengaksesnya.
Kes Khas
Kegunaan statik lain
Kata kunci statik mempunyai berbeza makna apabila digunakan pada objek atau fungsi yang tidak berada dalam skop kelas:
Atas ialah kandungan terperinci Apakah Menyebabkan Ralat \'Rujukan Tidak Ditakrifkan kepada Ahli Statik\' dalam C dan Bagaimana Ianya Diselesaikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!