【发布时间】:2020-09-09 23:15:08
【问题描述】:
我在 Unreal 中建立了一个名为 Groundmode 的类
地面模式.h: #pragma 一次
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "Components/BoxComponent.h"
#include <NMR\GroundDirection.h>
#include "GroundMode.generated.h"
UCLASS()
class NMR_API UGroundMode : public UObject
{
GENERATED_BODY()
public:
UGroundMode();
};
GroundMode.cpp:
#include "GroundMode.h"
UGroundMode::UGroundMode() {}
我希望能够在另一个类中实例化这个类。 PlayerPhysicsCollisionInfo.h
#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "GroundMode.h"
#include "PlayerPhysicsCollisionInfo.generated.h"
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
class NMR_API UPlayerPhysicsCollisionInfo : public UActorComponent
{
GENERATED_BODY()
public:
UPlayerPhysicsCollisionInfo();
UGroundMode downMode;
UGroundMode upMode;
UGroundMode leftMode;
UGroundMode rightMode;
};
PlayerPhysicsCollisionInfo.cpp: #include "PlayerPhysicsCollisionInfo.h"
void UPlayerPhysicsCollisionInfo::BeginPlay()
{
Super::BeginPlay();
downMode = new UGroundMode();
upMode = new UGroundMode();
leftMode = new UGroundMode();
rightMode = new UGroundMode();
}
当我尝试使用 new 关键字创建 UGroundMode 实例时,出现以下编译错误: D:\Documents\Unreal Projects\NMR\Source\NMR\PlayerPhysicsCollisionInfo.cpp(25) : 错误 C2661: 'UGroundMode::operator new': 没有重载函数需要 1 个参数
我做错了什么?构造函数不接受非 1 的参数。
【问题讨论】:
-
您没有
newUObjects,也没有按价值将它们存储在任何地方。请从一些基本的 UE c++ 教程开始。 -
好像没有想过做教程。 :P 所有我能找到的都很烂。
-
@user 您是否搜索过 Epic 的认可材料? unrealengine.com/en-US/resources
标签: c++ unreal-engine4 unreal-development-kit