안녕 모두, 내가 가진 같은 코드 : 나는 a.cpp 파일의 아를 수입하는 경우매크로 가드 헤더에서 작동하지 않습니다
//a.h
#ifndef SB
#define SB
namespace A{ int a = 10; int b = 10;}
#endif
그러나, 컴파일러는 불평 것 :
error LNK2005: "int A::a" ([email protected]@@3HA) already defined in a.obj
컴파일러가 명시 적 "import"문없이 .h 파일과 .cpp 파일을 함께 결합하는 것처럼 보입니다. 그러나 그것이 정의 된 매크로 가드와 함께 일어날 것이라는 것은 나에게 의미가 없다.
나는
해결 방법은 좋지만 문제는 @James가 더 잘 식별 할 수 있다고 생각합니다. –
+1 해결책이있을뿐만 아니라 문제의 원인도 아주 잘 설명되어 있습니다. –