|
Global.h 파일을 만들고 범용으로 사용되는 변수를 여기에 저장하려 합니다.
그런데
typedef struct Person
{
int i;
} PERSON;
extern PERSON* g_listPerson[100];
이렇게 global.h 에 선언을 하면 컴파일도 잘되고 링크도 잘됩니다.
그런데 이걸 다른 곳에서 (예를 들어. a.cpp) 쓸려고 하면 컴파일은 잘되는데
링크 에러가 뜹니다.
Unresolved external 이라고 하면서요..
이건 왜이런걸까요..
자주 있는 일인데 계속 모르고 넘어가다가 이번에는 대충 넘어가지말고 공부하자는 의미로
이렇게 여쭤봅니다.
이런때는 경험상 extern 대신 static으로 쓰면된다..
라고 익혔는데 왜그런지 알고싶습니다.
부탁합니다. 가르쳐주세요.
|