Rumah >pembangunan bahagian belakang >C++ >Mengapa 'rujukan tidak ditentukan kepada WindowsTimer::_frequency' Berlaku dan Bagaimana Ia Dibetulkan?
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!