Menghalang Takrifan Semula Fail Pengepala
Dalam C , memasukkan semula fail pengepala boleh membawa kepada ralat apabila berbilang takrifan simbol yang sama berlaku. Satu kes sedemikian ialah apabila bekerja dengan pustaka Windows Socket (
<winsock2.h>, dan kemasukannya dalam fail
MyClass.h.
Ralat timbul kerana kemasukan MyClass.h
, yang kemudiannya disertakan dalam berbilang fail lain. Ini menghasilkan takrifan semula pelbagai simbol yang ditakrifkan dalam < pra><winsock2.h>
Untuk mengelakkan isu ini, amalan biasa ialah memastikan fail pengepala disertakan sekali sahaja Ini biasanya dicapai dengan sama ada menggunakan pengadang termasuk atau dengan menggunakan
#pragma sekali</. arahan pra> dalam kes ini, kod menggunakan <pre class="brush:php;toolbar:false">#pragma sekaliralat takrifan semula.
Setelah diperiksa, ternyata ralat itu berpunca daripada susunan pemasukan fail pengepala Secara khusus, kod tersebut termasuk
<windows.h>sebelum
Untuk menyelesaikan masalah ini, perintah sertakan hendaklah diubah suai supaya <em>WINSOCKAPI</em>
sebelum menyertakan <windows.h>
daripada memasukkan <winsock.h>
, yang juga ditakrifkan oleh <winsock2.h>
, dengan itu menghapuskan ralat definisi semula.
Dengan menguruskan pesanan termasuk dengan teliti dan menentukan simbol prapemproses yang sesuai, pembangun boleh elakkan ralat takrifan semula dan pastikan kodnya berfungsi dengan betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Ralat Definisi Semula Apabila Menyertakan Fail Pengepala dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!