ludin's story

kaludin.egloos.com

포토로그 마이가든



static 변수를 찾을 수 없을 경우 (error LNK2001, 외부 기호를 확인할 수 없습니다.) 0



static 변수를 찾을 수 없을 경우 (error LNK2001, 외부 기호를 확인할 수 없습니다.)

 

Build 과정에서...

2>링크하고 있습니다...
2>Test.obj : error LNK2001: "private: static bool Test::m_bA" (?m_bA@Test@@0_NA) 외부 기호를 확인할 수 없습니다.
2>Debug\TestD.exe : fatal error LNK1120: 1개의 확인할 수 없는 외부 참조입니다.

이런 현상이 나타날 경우 ..

 

아래처럼 static으로 선언된 변수를 찾지 못할 경우

 

=== CTest.h =====

#ifndef __TEST_H__
#define __TEST_H__

class CTest
{
public:
 CTest(){}
 ~CTest(){}

 static bool Test();

private :
 static bool m_bA ;

};

#endif


=== CTest.cpp =====
void CTest::Test()
{
 m_bA = true ;
}

 

이렇게 바꾸어주면 된다.

 

=== CTest.cpp =====
void CTest::Test()
{
 m_bA = true ;
}
bool CTest:::m_bA = false;

 

이런식으로 static 변수는 class 내부에 선언을 하게되면
이렇게 Class 밖에서 정의가 되어야 한다.
이때 필요하면 초기화도 함께 한다.



트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://kaludin.egloos.com/tb/2461942 [도움말]

덧글

덧글 입력 영역



:: 배경음악 ::

1. 성시경-추억이 들린다 2. 씨야-사랑의 인사
Candle