Pengadang Sertakan berkesan untuk menghalang kemasukan rekursif bersama fail pengepala. Apabila memproses arahan #include, prapemproses menyemak definisi makro sedia ada sebelum menghuraikan kandungan pengepala. Jika makro sudah ditakrifkan, ia melangkau kandungan pengepala, dengan berkesan menghalang pengulangan.
Berbeza dengan kemasukan bersama, sertakan pengawal tidak direka bentuk untuk menghalang takrifan berbilang simbol. Apabila pengepala disertakan dalam berbilang unit terjemahan (fail .cpp berasingan), takrifan simbol akan direplikasi dalam setiap unit. Ini boleh membawa kepada ralat pemaut akibat pelanggaran Peraturan Satu Definisi dalam C .
Kemasukan Rekursif:
Ke hadapan mengisytiharkan kelas atau struktur data dalam fail pengepala untuk membenarkan kebergantungan tanpa saling kemasukan.
Berbilang Takrif:
Atas ialah kandungan terperinci Mengapa Fail Pengepala Saya Masih Menyebabkan Ralat Berbilang Definisi Walaupun Menggunakan Pengawal Sertakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!