【问题标题】:UE4 error compiling due to unknown function EditAnywhere由于未知函数 EditAnywhere 导致 UE4 错误编译
【发布时间】:2021-10-23 05:22:00
【问题描述】:

我一直在使用 C++ 开发 Unreal Engine 4 游戏,并且一直在开发破折号函数,但是我遵循了 YouTube 教程,发现在视频中,他们使用了函数“EditAnywhere”但是当我尝试编写自己的代码时,我的 UE4 说 EditAnywhere 是未知函数。

是否需要满足一些特殊要求才能使用“EditAnywhere”功能?

我的头文件示例代码:

UFUNCTION()
void DoubleJump();

UPROPERTY()
int DoubleJumpCounter;

UPROPERTY(EditAnywhere, BlueprintReadWrite)
float JumpHeight;

UFUNCTION()
void Sprint();

UFUNCTION()
void Walk();

UPROPERTY(EditAnywhere)
float WalkingSpeed;

UPROPERTY(EditAnywhere)
float RunningSpeed;

UFUNCTION(EditAnywhere)
void Dash();

UPROPERTY()
bool CanDash;

UPROPERTY(EditAnywhere)
float DashStop;

UPROPERTY()
FTimerHandle UnsedHandle;

UFUNCTION()
void StopDashing();

UFUNCTION()
void ResetDash();

这是错误消息的图片

【问题讨论】:

    标签: c++ function properties declaration unreal-engine4


    【解决方案1】:

    你不能拥有EditAnywhere 函数!

    EditAnywhere is a property declaration 仅用于变量。

    使用标准 C++ 变量语法声明属性,前面是 UPROPERTY定义属性元数据和变量说明符

    UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)])
    Type VariableName;
    

    我是否需要满足一些特殊要求才能使用 “EditAnywhere”函数?

    编辑函数没有任何意义,但你可以指定函数如何在不同的地方行动(例如:蓝图、虚幻编辑器等)。这是通过UFUNCTION declaration 完成的。请参阅给定链接中的不同声明以进一步阅读。

    【讨论】:

      【解决方案2】:

      您不能将EditAnywhereUFUNCTION 一起使用,只能与UPROPERTY 一起使用。让属性窗口可以编辑函数意味着什么?

      有关支持的说明符的完整列表,请参阅 Property SpecifiersFunction Specifiers

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-01
        • 2020-12-06
        相关资源
        最近更新 更多