저는 C++을 처음 사용하고 정적 키워드의 다양한 용도를 배우려고합니다. 그 중 하나는 정적 변수를 정의하는 것입니다. 범위 연산자를 사용하여 호출하십시오. 나는 그것을 사용하려고했지만 Visual Studio 2012에서는 연결 오류가 발생합니다.C++ 정적 변수로 치명적인 오류가 발생합니다. LNK1120 : Visual Studio에서 1 개의 확인되지 않은 외부 참조
class Vehicle
{
public:
Vehicle(){};
~Vehicle(){};
static int temp;
};
int _tmain(int argc, _TCHAR* argv[])
{
Vehicle::temp=100;
std::cout << Vehicle::temp << std::endl;
system("Pause");
return 0;
}
그리고 오류는 다음과 같습니다 : 내 코드는
1> LearningC++ OBJ :. 오류 LNK2001 : 확인되지 않은 외부 기호 "공공 정적 INT 차량 : 온도?"(임시 @ 차량 @@ 2HA)
1> C : \ 사용자 \ 아브람 \ 비주얼 스튜디오 2012 \ 문서 \ 프로젝트 \ LearningC++ \ 디버그 \ LearningC++ EXE :. 치명적인 오류 LNK1120 : 1 개 확인되지 않은 외부
무엇을 CAUS 수 이 문제가 있습니까?
EDIT1 (좀 더 명확하게하기 위해) :
내 질문은 내가 클래스 내에 선언 된 정적 변수에 액세스 할 수있는 방법인가? 멤버 함수를 사용하지 않고 이것이 가능합니까?
변수를 정의해야합니다. 클래스 정의 다음에'int Vehicle :: temp;'를 추가하십시오. – jrok