Unreal Engine/C++
[Unreal Engine 4 C++] C++로 UserWidget을 구현할 때 생성자에서 주의할 점
한돌이
2021. 1. 16. 13:20
UCLASS()
class PROJECTCE_API UMenuWidgetBase : public UUserWidget
{
GENERATED_BODY()
public:
UMenuWidgetBase();
};
<MenuWidgetBase.h 파일>
UMenuWidgetBase::UMenuWidgetBase()
{
}
<MenuWidgetBase.cpp 파일>
평소에 생성자를 정의할 때 위의 코드처럼 정의할 것이다. 그러나 UserWidget을 C++로 구현 할때 위의 코드처럼 생성자를 정의하면 UUserWidget의 기본 생성자가 없다고 오류를 나타낸다.
이 오류를 해결하기 위해서 다음과 같이 정의하면 된다.
UCLASS()
class PROJECTCE_API UMenuWidgetBase : public UUserWidget
{
GENERATED_BODY()
public:
UMenuWidgetBase(const FObjectInitializer &ObjectInitializer);
};
<수정한 MenuWidgetBase.h 파일>
UMenuWidgetBase::UMenuWidgetBase(const FObjectInitializer &ObjectInitializer)
: Super(ObjectInitializer)
{
}
<수정한 MenuWidgetBase.cpp 파일>
answers.unrealengine.com/questions/749085/no-default-constructor-exists-for-class-uuserwidge.html