Rumah > pembangunan bahagian belakang > C++ > Mengapa 'rujukan tidak ditentukan kepada WindowsTimer::_frequency' Berlaku dan Bagaimana Ia Dibetulkan?

Mengapa 'rujukan tidak ditentukan kepada WindowsTimer::_frequency' Berlaku dan Bagaimana Ia Dibetulkan?

Patricia Arquette
Lepaskan: 2024-12-25 14:21:10
asal
267 orang telah melayarinya

Why Does

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;
};
Salin selepas log masuk

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;
Salin selepas log masuk

Ini akan mencipta pembolehubah global jenis LARGE_INTEGER bernama _frequency yang dipautkan ke WindowsTimer kelas.

Mengapa Perubahan Lain Tidak Berfungsi

  • Menukar _frequency kepada _frequency.QuadPart hanya akan mentakrifkan ahli QuadPart bagi struktur LARGE_INTEGER, tetapi tidak _frekuensi itu sendiri.
  • Berubah _frequency kepada statik LARGE_INTEGER _frequency.QuadPart akan cuba mentakrifkan semula _frequency sebagai pembolehubah statik dengan jenis LARGE_INTEGER.QuadPart, yang tidak betul.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan