정적 변수에 대한 정의되지 않은 참조: 링크 오류 해결
C 코드를 컴파일할 때 헤더 파일에 정의된 정적 변수입니다. 이 오류는 링커가 링크하는 동안 정적 변수의 정의를 찾을 수 없기 때문에 발생합니다.
제공된 예제에서 헤더 파일 Log.h는 정적 문자열 멤버 theString을 선언합니다. 그러나 이 정적 변수의 정의가 Log.cpp 파일에 없습니다. 이 문제를 해결하려면 다음 단계를 따르십시오.
CPP 파일에서 정적 변수를 정의합니다.
#include "Log.h" #include <iostream> // Define the static variable here string Log::theString; void Log::method(string arg) { theString = "hola"; cout << theString << endl; }
불필요한 네임스페이스 선언 제거:
이러한 변경을 수행하면 링커는 연결 중에 정적 변수의 정의를 찾아 문제를 해결할 수 있습니다. "정의되지 않은 기호" 오류.
위 내용은 내 C 코드에 '정적 변수에 대한 정의되지 않은 참조' 링커 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!