Permulaan Dalam Kelas Ahli Statik dalam C
Dalam C , mentakrifkan pembolehubah ahli statik di dalam perisytiharan kelas adalah tidak dibenarkan. Tindakan ini mengakibatkan ralat penyusunan "ISO C melarang permulaan dalam kelas bagi ahli statik bukan const `j'".
Sebab Larangan:
Pengecualian untuk Const Ahli:
Ahli statik Const dibenarkan untuk dimulakan dalam pengisytiharan kelas kerana mereka tidak diubah suai selepas pemulaan. Ini memastikan kecekapan kod dan menghapuskan keperluan untuk pemulaan eksplisit.
Implikasi untuk Nilai Standard:
Dalam C, pembolehubah statik dimulakan secara automatik kepada 0 jika ia tidak dinyatakan secara eksplisit dimulakan. Walau bagaimanapun, dalam C , pembolehubah statik tidak dimulakan secara automatik. Anda mesti memulakannya secara manual sama ada dalam pengisytiharan kelas (untuk ahli const) atau dalam fail .cpp yang berasingan.
Penyelesaian:
Untuk menentukan statik bukan const pembolehubah ahli dalam C , anda harus memulakannya dalam fail .cpp yang berasingan dan bukannya dalam pengisytiharan kelas.
Untuk contoh:
// Header file class Test { public: static int j; }; // .cpp file int Test::j = 0;
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Memulakan Ahli Statik Bukan Konst Di Dalam Kelas C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!