對靜態成員的未定義引用
當編譯器找不到靜態成員變數的定義時,就會發生此錯誤。在本例中,它屬於 WindowsTimer 類別的靜態成員變數 _Frequency。
理解程式碼
給的程式碼是:
class WindowsTimer { public: WindowsTimer() { _frequency.QuadPart = 0ull; } private: static LARGE_INTEGER _frequency; };
這裡,_Frequency是一個LARGE_INTEGER類型的靜態成員變量,它在
解決錯誤
錯誤訊息“undefined reference to WindowsTimer::_Frequency”::_Frequency」表示器找不到_Frequency 的定義。靜態成員變數必須在類別宣告之外定義,通常在實作 (.cpp) 檔案中。
要解決此錯誤,請將以下定義新增至.cpp 檔案:
LARGE_INTEGER WindowsTimer::_frequency;
這將建立一個名為_Frequency 的LARGE_INTEGER 類型的全域變數,該變數連結到WindowsTimer 類別。
為什麼其他更改不起作用
以上是為什麼會出現「對 WindowsTimer::_Frequency 的未定義參考」以及如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!