在虚幻中尝试通过C ++添加视口时出现“没有重载函数CreateWidget的实例”错误

时间:2019-08-04 04:16:34

标签: c++ unreal-engine4

我试图通过虚幻中的C ++将用户窗口小部件添加到视口中。 我想使用户小部件成为公共的UPROPERTY,以便可以将小部件的蓝图添加到播放器类的蓝图上。

参数看起来与定义相匹配,所以我无法理解为什么继续出现错误: “没有重载函数CreateWidget的实例与参数列表匹配”

我在这里做什么错了?

在我的玩家班上,我有:

// player.h

UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Player, HUD and UI")
    TSubclassOf<class UUserWidget*> CrossHairsClass;


    UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Player, HUD and UI")
    class UUserWidget*  CrossHairs;

在我的播放器cpp类的BeginPlay()函数中,

// player.cpp

if (CrossHairsClass) {
        CrossHairs = CreateWidget<UUserWidget>(this, CrossHairsClass);
        CrossHairs->AddToViewport();
}

1 个答案:

答案 0 :(得分:0)

参考UE4 CreateWidget documentation,您必须在CreateWidget函数中添加CrossHairs = CreateWidget<UUserWidget>(this, CrossHairsClass, FName(TEXT("CrossHairWidget"))); 参数,例如:

{{1}}

希望这会有所帮助。