전방 선언과 include
...\Object.h(151): error C2440: 'static_cast':
cannot convert from 'UObject *' to 'UTargetClass'
- 멤버에 대해 클래스 전방 선언(Forward declaration)을 하게 되면, 나중에 Include하지 않은 상태로 할당하게 되면 오류가 생길 수 있다.
- 멤버에 접근하거나, CreateDefaultSubobject 등으로 무조건 해당 클래스를 include해놔야 한다.
- TObjectPtr<class UTargetClass> TargetComponent;
- 헤더에서는 위와 같이 선언해놓고, 실제로 생성할 때 아래와 같이 해당 클래스의 헤더를 Include하지 않으면 클래스 타입을 알지 못해 문제가 생길 수 있다.
// 헤더 포함 안 함
AOBCharacterEnemy::AOBCharacterEnemy()
{
TargetComponent = CreateDefaultSubobject<UTargetClass>(TEXT("TargetableComponent"));
}
이 경우 제깍제깍 Include를 잘 해놓자.
#include ".../TargetClass"'Unreal Engine 5' 카테고리의 다른 글
| 언리얼 엔진 5 - 나이아가라에서 로컬 모듈 & User Parameter 사용하기 (0) | 2026.06.14 |
|---|---|
| 언리얼 엔진5 - 충돌 이벤트 처리 (0) | 2026.06.06 |
| 퍼포스와 Visual Studio를 같이 사용하는 방법 (0) | 2026.04.16 |
| 오라클 프리티어 기반 Perforce 설정하기 2 - 인스턴스에 퍼포스 연결하기 (0) | 2026.03.29 |
| 오라클 프리티어 기반 Perforce 설정하기 1 - 오라클 클라우드 생성하기 (0) | 2026.03.29 |
댓글