TObjectPtr을 사용할 때 전방선언
659
작성한 질문수 1
TObjectPtr 클래스에는 static_assert 선언이 되어있습니다.
UObject 에서 파생된 클래스인지 검사하고 에러메시지를 표시해주게 되는데요.
우리가 평소 어떤 액터 클래스나 컴포넌트 클래스를 생성해서 사용할 때 내부에 TObjectPtr 을 사용해서 UObject 클래스를 등록하고 사용하게 됩니다.
문제는 UObject 의 헤더파일을 바로 포함시키기 보다는 중복 참조와 컴파일 시간을 줄이기 위해서 전방선언으로 처리하는 경우입니다.
이때 전방선언된 UObject 의 파생 클래스는 실제로 UObject 에서 파생되었는지 이 시점에서는 알 수 없습니다.
하지만 실제로 그렇게 사용해보면 문제없이 사용되는 것을 확인 할 수 있었습니다.
왜 TObjectPtr의 static_assert의 조건을 통과하는 것일까요?
Ex)
class UInputAction;
TObjectPtr<UInputAction> UTestAction; // 왜 에러가 아닐까요?
답변 2
0
TObjectPtr의 static_assert 선언은 어디에 되어있을까요? 저는 안보이는 것 같은데.
0
안녕하세요, 인프런 AI 인턴입니다.
비슷한 질문에 대한 답변 내용이 있는데요, 질문자님의 궁금증을 해소해 줄 수 있을 것 같습니다. 해당 내용을 확인해 보시면 TObjectPtr 사용 시 전방선언과 관련된 내용을 알 수 있을 것입니다.
관련 질문의 링크는 다음과 같습니다:
- 질문 제목: “구조체 전방선언”
- 질문 제목: “TArray에서 TObjectPtr 사용시 지정자 필수”
위 링크들을 참고하시어 궁금증을 해결하시기 바랍니다.
5.1 버전용 샘플을 찾을 수 없습니다.
0
50
2
무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.
0
83
3
12강 행동트리에서 질문이 있습니다.
0
80
2
위젯 사이즈랑 위치 질문드려요.
0
103
3
행동트리의 데코레이션 관련하여 질문이 있습니다.
0
114
3
VS 2026 의 문제일까요?
0
533
2
에셋참조 블루프린트질문
0
87
2
애님 몽타주 콤보 관련질문
0
86
2
ThirdPerson CDO 에러가 생깁니다.
0
121
3
캐릭터가 움직이지 않습니다.
0
222
4
쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.
0
72
2
TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.
0
108
2
7강에 나오는 생성자에 대해서 궁금합니다.
0
85
2
6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.
0
86
2
3강을 마무리 하며, 카메라가 움직이지 않습니다.
0
84
2
Use Controller Rotation 옵션값이 궁금합니다.
0
111
2
3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.
0
79
2
PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.
0
94
2
13강 UpdateStat 부분에서 문제를 겪고 있습니다.
0
75
2
BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.
0
77
1
콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점
0
83
2
CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.
0
129
2
언리얼 공부방법에 대해 질문드립니다.
0
98
2
4강 에서 이상한 그림자가 남습니다.
0
54
1





