静的メンバーへの未定義の参照
このエラーは、コンパイラが静的メンバー変数の定義を見つけられない場合に発生します。この場合、これは WindowsTimer クラスの静的メンバー変数 _frequency に関係します。
コードの理解
提示されるコードは次のとおりです:
class WindowsTimer { public: WindowsTimer() { _frequency.QuadPart = 0ull; } private: static LARGE_INTEGER _frequency; };
ここで、_frequency は LARGE_INTEGER 型の静的メンバー変数であり、宣言されていますが宣言されていません
エラーの解決
エラー メッセージ「WindowsTimer::_frequency への未定義の参照」は、コンパイラが _frequency の定義を見つけられないことを示します。静的メンバー変数は、クラス宣言の外で、通常は実装 (.cpp) ファイル内で定義する必要があります。
エラーを解決するには、次の定義を .cpp ファイルに追加します:
LARGE_INTEGER WindowsTimer::_frequency;
これにより、WindowsTimer にリンクされる _frequency という名前の LARGE_INTEGER 型のグローバル変数が作成されます。 class.
他の変更が機能しなかった理由
以上が「WindowsTimer::_frequency への未定義の参照」が発生する理由とその修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。