Ralat Pemautan Pembolehubah Statik dalam C
Apabila menyusun kod C, terutamanya pada Mac, anda mungkin menghadapi "ralat pautan pembolehubah statik" serupa dengan yang dilaporkan dalam coretan kod yang disediakan. Ralat ini biasanya timbul apabila cuba merujuk pembolehubah statik yang tidak ditakrifkan dengan betul secara luaran (dalam fail *.cpp).
Akar Isu
Dalam kod yang disediakan, pembolehubah statik "theString" diisytiharkan dalam fail pengepala "Log.h" tetapi tidak pernah ditakrifkan. Pembolehubah statik memerlukan definisi luaran dalam fail *.cpp yang sepadan untuk menyimpan memori dan memulakannya.
Penyelesaian
Untuk menyelesaikan ralat pemautan, anda boleh menambah definisi daripada "theString" ke fail "Log.cpp", seperti yang ditunjukkan di bawah:
// Log.cpp string Log::theString; // Define the static string here
Syor Tambahan
Selain mentakrifkan pembolehubah statik secara luaran, ia juga disyorkan untuk mengelak daripada menggunakan "menggunakan ruang nama std;" dalam fail pengepala. Amalan ini boleh membawa kepada pencemaran ruang nama, menjadikannya lebih sukar untuk nyahpepijat dan mengekalkan kod anda pada masa hadapan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Pautan Pembolehubah Statik dalam Kod C Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!