작성
·
413
0
안녕하세요. 강의를 듣다 궁금한 점이 생겨 질문해봅니다.
강의 중에 헤더에서 'generated.h' 는 항상 밑에 있어야 하고, cpp에서는 해당 클래스의 include 가 항상 가장 위쪽에 있어야 하는 이유가 궁금해졌습니다.
인터넷에 여러가지 검색을 해봤으나, 제대로 된 답을 찾지 못했고, ChatGPT를 통해 검색해보니,
"먼저 #include "Student.generated.h"
가 나와 Student
클래스의 종속성을 로드하려고 하지만, Person
클래스에 대한 정보가 아직 로드되지 않았기 때문에 에러가 발생합니다." 라는 답변이 나왔는데, 이 사실이 맞는지 정확히 믿기 힘들어 질문드립니다.
답변 1
1
아 해당 규칙은 C++문법과 무관한 언리얼 헤더 툴(UHT)에서 정한 규칙입니다.
강의에서도 설명하지만 언리얼 엔진은 한 번 파싱을 거친 후에 컴파일을 진행합니다.
아마 파싱을 명확히 하기 위해 정한 것으로 보여집니다.
소중한 답변 감사합니다!