Rujukan Tidak Ditakrifkan kepada Ahli Statik
Ralat ini berlaku apabila pengkompil tidak dapat mencari definisi pembolehubah ahli statik. Dalam kes ini, ia berkaitan dengan pembolehubah statik ahli _frequency kelas WindowsTimer.
Memahami Kod
Kod yang dibentangkan ialah:
class WindowsTimer { public: WindowsTimer() { _frequency.QuadPart = 0ull; } private: static LARGE_INTEGER _frequency; };
Di sini, _frequency ialah pembolehubah ahli statik jenis LARGE_INTEGER, yang diisytiharkan tetapi tidak ditakrifkan dalam kelas.
Menyelesaikan Ralat
Mesej ralat "rujukan tidak ditentukan kepada WindowsTimer::_frequency" menunjukkan bahawa pengkompil tidak dapat mencari takrifan _frequency. Pembolehubah ahli statik mesti ditakrifkan di luar pengisytiharan kelas, biasanya dalam fail pelaksanaan (.cpp).
Untuk menyelesaikan ralat, tambahkan takrifan berikut pada fail .cpp:
LARGE_INTEGER WindowsTimer::_frequency;
Ini akan mencipta pembolehubah global jenis LARGE_INTEGER bernama _frequency yang dipautkan ke WindowsTimer kelas.
Mengapa Perubahan Lain Tidak Berfungsi
Atas ialah kandungan terperinci Mengapa 'rujukan tidak ditentukan kepada WindowsTimer::_frequency' Berlaku dan Bagaimana Ia Dibetulkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!