본문 바로가기

Language/MFC

헤더파일(*.h) 참조시 주의사항

프로토콜이 바껴 기존 프로젝트를 수정하면서 프로토콜을 변경하는 도중에 에러가 120개가 떴다. 


여러가지 이유가 있겠지만 일단 프로젝트에서 사용되는 많은 구조체를 정의한 헤더파일에서 정의된 모든 구조체, 매크로들이 제정의 되었다는 에러...


먼 개소리일까...하면서 거진 3시간을 날리고 인터넷을 뒤지다가 문득 드는 생각에 이전에 만든 헤더를 열어서 비교해보았다. 


#pragma once !!!!


혹시 몰라서 추가 해주니 에러가 확 ~ 사라지네..ㅡ,,.ㅡ;;


이 구문은 헤더파일 (왠만한 MFC 해더파일이나 C++ 해더파일에 자동을 기입이 된다. 물론 클래스 마법사를 사용했을때..) 최 상단에 위치하게 되는데 이 구문을 넣게 되면 중복 참조를 방지할 수 있다. 


중복 참조로 인하여 한번 선언된 구조체나 메크로들이 다시 선언되는 불쌍사가 발생한 것이다.