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