파일분할 재정의관련 에러
파란
2023.04.01
질문 제목 : 위와 동일 에러 해결 부탁해요질문 내용 :
main.cpp에서는 1.h, 2.h, 3.h, 4.h를 인클루드하구요
main.h는 존재하지 않습니다.
1.h~ 4.h에서는 glo.h를 인클루드 합니다.
1.cpp ~ 4.cpp에서는 각각 1.h~ 4.h를 인클루드하고 있습니다.
빌드 시 main.cpp에서 링크에러가 나는데 아무래도 각각 1.h~4.h에서 glo.h를 인클루드하고있어서
4번이나 중복포함시켜서 재정의, 여러번 초기화 등등 에러가 나는 것 같은데요.
이를 해결하기 위해 #pragma once나 #ifdef~#endif 쓰면 될 것같은데
정확히 어느 위치에 선언해야하고 정확한 해결방법을 모르겠습니다.
#pragma once를 main.cpp맨 위에 했는데 무용지물입니다. .;;ㅋㅋ
-
봄여우
해결했습니다. ㅎ #pragma once 썼구요 extern 사용했습니다.
-
도리도리
모든 헤더파일에 다음과 같이 쓰면 될 것 같습니다.
#ifndef
...
...내용들...
...
#endif