작성
·
502
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요. 좋은 강의 만들어주셔서 감사합니다.
현재, 헤더 파일에 특정 클래스 변수를 추가할 때 (ex. USpringArmComponent) 헤더 파일에서 컴파일 오류가 나죠. 그래서 class라고 전방선언을 해준 뒤 Cpp 파일에서 실제 해당 클래스가 있는 파일의 경로를 include 해주는데요, 이렇게 하는 이유가 있나요?
애초에 헤더 파일에서 include 하면 안되는지 궁금합니다.
답변 1
1
C++의 영원한 숙제인데요.
헤더파일에서 헤더파일을 추가하기 시작하면,
A->B B->A 이렇게 순환 참조하는 문제가 발생하면서 빌드 에러가 나기도 하고
하나의 헤더를 추가하기 위해 다른 헤더까지 포함해야 하는
엄청난 부담이 생깁니다.
그래서 헤더에선 어.지.간 해서는 다른 헤더를 포함하면 안 됩니다.