inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

2강 캐릭터와 입력 시스템

2강 11:20 전방 선언 불가인 이유가 궁금합니다.

596

cradia3512

작성한 질문수 4

0

안녕하세요!

2강 11:20 부분에서 CreateDefaultSubobject<> 안에 UStaticMeshComponent를 전방 선언할 수가 없고 헤더에 포함시키는 이유가 궁금합니다!

이유를 찾기가 힘들어서 질문드립니다

unreal-engine ue-blueprint 언리얼-c++

답변 1

0

이득우

이를 이해하기 위해서는 C++언어의 선언(declaration)과 정의(definition)에 대한 개념이 있어야 할텐데요,
간단하게 이야기해서 선언에서는 어떤 객체인지 설계도만 지정해주고, 실제 내용물(코드)은 정의에서 채워줍니다.
이 때 헤더파일에 예를 들어 UStaticMeshComponent와 같은 클래스를 include하면, include가 계속 이어져서 컴파일 타임이 느려지는 문제가 발생합니다. 이런 연유로 가능하다면 설계도만 대략 지정하는 형태로 전방선언을 하고, 코드를 만들어야 하는 cpp에서는 실제 해당 객체를 사용해야 하기 때문에, 그게 진짜 어떤 객체인지 알 수 있도록 헤더를 추가해줍니다.
객체의 전방선언은 포인터만 가능하며, 상호참조의 문제도 해결할 수 있는 유용한 기법입니다.

 

무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.

0

44

2

12강 행동트리에서 질문이 있습니다.

0

51

1

위젯 사이즈랑 위치 질문드려요.

0

81

3

행동트리의 데코레이션 관련하여 질문이 있습니다.

0

93

3

VS 2026 의 문제일까요?

0

483

2

에셋참조 블루프린트질문

0

67

2

애님 몽타주 콤보 관련질문

0

70

2

ThirdPerson CDO 에러가 생깁니다.

0

95

3

캐릭터가 움직이지 않습니다.

0

180

4

쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.

0

62

2

TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.

0

94

2

7강에 나오는 생성자에 대해서 궁금합니다.

0

78

2

6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.

0

73

2

3강을 마무리 하며, 카메라가 움직이지 않습니다.

0

70

2

Use Controller Rotation 옵션값이 궁금합니다.

0

83

2

3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.

0

64

2

PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.

0

78

2

13강 UpdateStat 부분에서 문제를 겪고 있습니다.

0

63

2

BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.

0

64

1

콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점

0

72

2

CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.

0

114

2

언리얼 공부방법에 대해 질문드립니다.

0

86

2

4강 에서 이상한 그림자가 남습니다.

0

46

1

2강에서 카메라 회전안되시는분 참고

2

90

2