게임 개발/Unreal Engine
[UE] FStruct 안전한 타입 변환(FStruct Safely cast)
지노윈
2022. 10. 28. 21:31
반응형
FMyChildStruct 인스턴스가 아닌 경우 정상적으로 타입 변환이 되겠지만,
MyChildStruct->NoCrash->bDone과 같이 참조시 어플리케이션은 크래시가 발생합니다.
이를 방지하기 위해 IsChildOf를 사용하여 크래시를 피할 수 있습니다.
const FMyChildStruct* MyChildStruct = static_cast<FMyChildStruct*>(MyParentStruct);
if(MyChildStruct->GetScriptStruct()->IsChildOf((FMyChildStruct::StaticStruct())))
{
bDone = MyChildStruct->NoCrash->bDone;
}
그리고, Cast<FSomeType>(...)은 UObject 클래스에서만 동작하고 FStruct는 사용할 수 없습니다.