【问题标题】:How to resolve "C2660 'SWidget::Construct': function does not take 1 arguments"?如何解决“C2660 'SWidget::Construct':函数不接受 1 个参数”?
【发布时间】:2021-10-26 12:40:13
【问题描述】:

我该如何解决

C2660 'SWidget::Construct':函数不接受 1 个参数

我正在尝试放置一个显示游戏控件的小部件。
我是虚幻引擎的新手。

错误

C2660 'SWidget::Construct':函数不接受 1 个参数
C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\SlateCore\Public\Widgets\DeclarativeSyntaxSupport.h862

SPanelWidget.h

#pragma once

#include "SlateBasics.h"
#include "SlateExtras.h"

class SPanelWidget : public SCompoundWidget
{
public:

    SLATE_BEGIN_ARGS(SPanelWidget) {}
    SLATE_ARGUMENT(TWeakObjectPtr<class AControlPanel>, OwningPanel)
    SLATE_END_ARGS()

    void construct(const FArguments& InArgs);

    TWeakObjectPtr<class AControlPanel> OwningPanel;

    virtual bool SupportsKeyboardFocus() const override {return true;};

};

SPanelWidget.cpp

#include "SPanelWidget.h"

#define LOCTEXT_NAMESPACE "Panel"

void SPanelWidget::construct(const FArguments& InArgs) {
    const FText TitleText = LOCTEXT("ProjectTitle","Chair Table Practice Problem");
    const FMargin ContentPadding = FMargin(500.f,300.f);
    ChildSlot [
        SNew(SOverlay)
            + SOverlay::Slot()
            .HAlign(HAlign_Fill)
            .VAlign(VAlign_Fill) [
                SNew(SImage)
                    .ColorAndOpacity(FColor::Black)
            ]
            + SOverlay::Slot()
            .HAlign(HAlign_Fill)
            .VAlign(VAlign_Fill)
            .Padding(ContentPadding) [
                SNew(SVerticalBox)
                    +SVerticalBox::Slot() [
                        SNew(STextBlock)
                            .Text(TitleText)
                    ]
            ]
    ];
}

#undef LOCTEXT_NAMESPACE

【问题讨论】:

  • 错误消息告诉你,你没有为有问题的函数提供适当数量的参数——要么你根本不需要,要么不止一个。我看不到您实际调用该函数的位置,因此它似乎隐藏在无处不在的宏之一中。由于不熟悉虚幻,我只能告诉您查看标题中的确切行并检查传递给哪些参数 - 可能是__VA_ARGS__,因此涉及可变参数宏,因此请检查您是否为这些宏提供了足够的参数.

标签: c++ widget unreal-engine4


【解决方案1】:

需要用大写'C'声明Construct函数。

学分:slodginald

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-14
    • 2022-11-24
    • 1970-01-01
    • 2014-03-05
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多