Mengisytiharkan Berbilang Penunjuk dalam Baris Tunggal: Memahami Sintaks
Apabila mengisytiharkan berbilang penunjuk objek pada satu baris dalam C , perangkap biasa boleh timbul jika sintaks tidak difahami dengan betul. Pertimbangkan kod berikut:
<code class="cpp">private: sf::Sprite* re_sprite_hair; sf::Sprite* re_sprite_body; sf::Sprite* re_sprite_eyes;</code>
Kod ini berjaya mengisytiharkan tiga penunjuk yang menunjuk ke objek jenis sf::Sprite. Walau bagaimanapun, menukar sintaks kepada format berikut mengakibatkan ralat pengkompil:
<code class="cpp">private: sf::Sprite* re_sprite_hair, re_sprite_body, re_sprite_eyes;</code>
Sebabnya:
Perbezaan antara kedua-dua pengisytiharan ini terletak pada kehadiran asterisk * dalam versi kedua. Dalam C , asterisk menandakan pengisytiharan penunjuk. Apabila ditinggalkan, ia menghasilkan pengisytiharan objek itu sendiri.
Dalam versi pertama, setiap pembolehubah mempunyai asterisk, menunjukkan bahawa ketiga-tiganya adalah penunjuk. Dalam versi kedua, asterisk hanya digunakan untuk re_sprite_hair, menjadikannya penunjuk, manakala re_sprite_body dan re_sprite_eyes menjadi objek jenis sf::Sprite. Sintaks yang salah ini mengakibatkan ralat pengkompil dilihat.
Sintaks yang Betul:
Untuk mengisytiharkan berbilang penunjuk dengan betul pada satu baris, adalah penting untuk menggunakan asterisk untuk setiap pembolehubah. Sintaks yang betul ialah:
<code class="cpp">private: sf::Sprite* re_sprite_hair, *re_sprite_body, *re_sprite_eyes;</code>
Dengan menggunakan asterisk pada setiap pembolehubah, pengkompil mengenali ketiga-tiga sebagai penunjuk dan pengisytiharan itu sah.
Atas ialah kandungan terperinci Bagaimana untuk Mengisytiharkan Berbilang Penunjuk dengan Betul dalam Baris Tunggal dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!