자 일단 내가 어떤 상황이냐면, 메인클래스 헤더에서 어떤 변수를 전역변수로 선언하고 이걸 다른 클래스들에서 다 쓰려고 하는데,
이 메인의 헤더를 클래스 A, B, C에 다 갖다 붙이니까 컴파일 중에 에러가 나는데 에러문구가 LNK2005 어쩌고 저쩌고 나오다가
already difine in 어쩌고 이런 식으로 나오는데, 보니까 말 그대로 메인 헤더에서 선언한 전역변수를 여러번 선언하려고 해서 그런 거 같아.
그래서 해결법을 찾아보니까 그냥 전역변수를 헤더에서 선언하지 말고 소스에서 선언해서 쓰라는데, 그럼 다른 클래스에서 어떻게 갖다써?
어떻게 방법 없나?
ㄷㅌㅅㄷ구
아 해결했다..
갖다 쓰는데서는 extern 표기 해주면 되는거 아니었나? 가물가물..
extern이 제일 편하던데
전역변수나 함수 선언해둘 헤더 파일,소스 파일 한개씩 만들어두고 전부 extern처리
#ifndef int wideval \\n #define int wideval \\n #endif
c에서는 extern이 답이다. 그런데 c++에서는 왠만하면 전역변수 사용하지 않는 것이 좋은데...