인프런 커뮤니티 질문&답변

화사한 알파카님의 프로필 이미지
화사한 알파카

작성한 질문수

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

Scene과 SceneManager

include header

작성

·

212

0

안녕하세요 선생님 ㅜㅜ

선생님 코드 짜시는거 보면 막

새로운 클래스를 생성하시구 나서

막 Types.h, enums.h Defines.h에 정의되어있는 것들을

그냥 입력해도 아무 에러가 안 뜨던데

저는 그것들 #include 안해주면 정의 안되어있는거 쓴다구

겁나 꼽주는데 따로 설정법이 있는건가요,,? ㅜㅜ

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
화사한 알파카님, 질문하신 내용에 대해 답변드립니다.

선생님이 사용하신 Types.h, enums.h, Defines.h 파일들이 정의되어 있고, 이 파일들을 사용하는 곳에서는 반드시 #include를 사용해서 해당 헤더 파일들을 포함시켜야 합니다. 만약 선생님이 이러한 파일들을 별도의 설정 없이 직접 에러 없이 사용하신다면, 그것은 아마도 프로젝트의 설정에서 이 파일들이 공통으로 포함되도록 설정되어 있기 때문일 수 있습니다.

C++에서는 프로젝트 설정에 따라 전처리기(include 디렉토리)를 설정할 수 있어, 일부 헤더 파일들이 자동으로 포함되도록 설정이 가능합니다. 이를 통해 매번 소스 파일 상단에 일일이 헤더 파일을 #include로 나열하지 않아도, 공통적으로 필요한 헤더 파일들을 자동으로 포함시키는 방법이 사용될 수 있습니다.

이러한 설정은 주로 큰 프로젝트나 여러 사람이 협업할 때, 공통적으로 사용되는 헤더 파일들의 명시적인 포함 없이도 모든 개발자가 동일한 환경을 유지할 수 있도록 돕기 위해 사용됩니다. 개발 환경 설정에서 또는 CMakeLists.txt와 같은 빌드 시스템 구성 파일을 통해 설정할 수 있습니다.

하지만 이러한 방법은 코드의 명확성 측면에서는 불리할 수 있으므로, 어떤 헤더 파일들이 포함되어 작동하는지 명확하게 알고 있지 않다면, 필요한 헤더 파일을 명시적으로 #include하는 것이 일반적으로 권장되는 방식입니다.

해당 설정법이 궁금하시다면, 사용하고 계신 개발 환경의 문서를 참조하거나, 프로젝트 설정 방법에 대해 좀 더 자세히 알아보시는 것을 추천드립니다.

우와 친절한 답변 감사드립니다🙇🏻‍♀️🙇🏻‍♀️👍🏻 주말 잘 보내세요!

화사한 알파카님의 프로필 이미지
화사한 알파카

작성한 질문수

질문하기