虚幻引擎 4.18.2“类“UUserWidget”不存在默认构造函数”

She*_*eim 0 c++ constructor widget unreal-engine4

我在编写 UUserWidget 继承类的构造函数时遇到了一个奇怪的问题。该问题仅出现在此类中(在其他几个中已检查过)。代码: .h .cpp UserWidget.h 编译结果

Dan*_*Bot 5

尝试将其添加到您的基类(UUserWidget):

UUserWidget();
Run Code Online (Sandbox Code Playgroud)

那是因为这个类没有默认构造函数。默认构造函数是不带参数的构造函数。

  • 因为默认构造函数不带任何参数,所以 UUserWidget(const FObjectInitializer &ObjectInitializer); 不能是默认构造函数。 (2认同)
  • 您遇到了链接错误,其中大多数是由于错误地包含类而引起的,这不再与构造函数有关。 (2认同)
  • @Sheim 这更多的是一个特定的虚幻引擎问题。您不想向引擎添加代码(如前所述)。本质上的区别是,如果你以 Actor 为例,它有一个 default () 构造函数。而 UUserWidget 则不然。因此,您只需确保使用 FObjectInitializer 构造函数即可。应该做同样的工作。也许这是虚幻引擎在升级到允许空构造函数期间的疏忽。```MyWidget::Mywidget(const FObjectInitializer& ObjectInitializer) : UUserWidget(ObjectInitializer){``` (2认同)