首页 > 解决方案 > 由于未知函数 EditAnywhere 导致 UE4 错误编译

问题描述

我一直在使用 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++functionpropertiesdeclarationunreal-engine4

解决方案


你不能有EditAnywherefor函数!

这是一个仅用于变量EditAnywhere的属性声明。

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

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

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

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


推荐阅读