정적 멤버에 대한 정의되지 않은 참조
이 오류는 컴파일러가 정적 멤버 변수의 정의를 찾을 수 없을 때 발생합니다. 이 경우 WindowsTimer 클래스의 정적 멤버 변수 _주파수와 관련이 있습니다.
코드 이해
제시된 코드는 다음과 같습니다.
class WindowsTimer { public: WindowsTimer() { _frequency.QuadPart = 0ull; } private: static LARGE_INTEGER _frequency; };
여기에서 _주파수는 LARGE_INTEGER 유형의 정적 멤버 변수로, 선언되었지만 정의되지는 않았습니다. class.
오류 해결
"WindowsTimer::_주파수에 대한 정의되지 않은 참조" 오류 메시지는 컴파일러가 _주파수 정의를 찾을 수 없음을 나타냅니다. 정적 멤버 변수는 클래스 선언 외부, 일반적으로 구현(.cpp) 파일에서 정의해야 합니다.
오류를 해결하려면 .cpp 파일에 다음 정의를 추가하세요.
LARGE_INTEGER WindowsTimer::_frequency;
이렇게 하면 WindowsTimer에 연결된 _주파수라는 이름의 LARGE_INTEGER 유형의 전역 변수가 생성됩니다. class.
다른 변경 사항이 작동하지 않은 이유
위 내용은 'WindowsTimer::_주파수에 대한 정의되지 않은 참조'가 발생하는 이유는 무엇이며 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!