TObjectPtr을 사용할 때 전방선언
657
작성한 질문수 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 사용시 지정자 필수”
위 링크들을 참고하시어 궁금증을 해결하시기 바랍니다.
무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.
0
46
2
12강 행동트리에서 질문이 있습니다.
0
52
1
위젯 사이즈랑 위치 질문드려요.
0
81
3
행동트리의 데코레이션 관련하여 질문이 있습니다.
0
94
3
VS 2026 의 문제일까요?
0
488
2
에셋참조 블루프린트질문
0
67
2
애님 몽타주 콤보 관련질문
0
70
2
ThirdPerson CDO 에러가 생깁니다.
0
95
3
캐릭터가 움직이지 않습니다.
0
181
4
쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.
0
62
2
TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.
0
94
2
7강에 나오는 생성자에 대해서 궁금합니다.
0
78
2
6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.
0
73
2
3강을 마무리 하며, 카메라가 움직이지 않습니다.
0
71
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
87
2
4강 에서 이상한 그림자가 남습니다.
0
46
1
2강에서 카메라 회전안되시는분 참고
2
91
2





