小编Jam*_*oag的帖子

在虚幻引擎 C++ 中设置计时器

我在虚幻引擎 4 中创建计时器时遇到问题。问题出在 GetWorldTimerManager 中。当我对此调用设置计时器时,我收到 E0070 不完整类型错误。通常这意味着我未能包含某些内容

void ACubeFarmBlock::HandleClicked()
{
    if (!bIsPlanted)
    {
        bIsPlanted = true;

        // Change material
        BlockMesh->SetMaterial(0, OrangeMaterial);

        // Determine when to harvest
        GetWorldTimerManager().SetTimer(HarvestTimerHandle, &ACubeFarmBlock::Harvest, HarvestTime,false);
    }
}
Run Code Online (Sandbox Code Playgroud)

HarvestTimerHandle 在标头中定义。以下是包含的列表。MyActor.h 包含一个定义 GetWorldTimerManager 的方法,因此我认为我已经包含了所有内容。值得注意的是,当我在线查找计时器函数时,我发现了几个站点,其中此设置计时器方法包含插入在 HarvestTimerHandle 参数和 &ACubeFormBlock::Harvest 参数之间的 this 参数。包括这一点并不会让我的错误消失。

#include "CubeFarmBlock.h"
#include "CubeFarmBlockGrid.h"
#include "UObject/ConstructorHelpers.h"
#include "Components/StaticMeshComponent.h"
#include "Engine/StaticMesh.h"
#include "Materials/MaterialInstance.h"
#include "MyActor.h"
Run Code Online (Sandbox Code Playgroud)

错误:

..\CubeFarmBlock.cpp(76): 注意:请参阅正在编译的函数模板实例化 'TFunction::TFunction(FunctorType &&)' 的参考 1> with 1> [ 1> FunctorType=void (__cdecl ACubeFarmBlock::* )(float ) 1>]

严重性代码 描述 项目文件行抑制状态错误(活动)
E0070 不允许 CubeFarm ..\CubeFarmBlock.cpp …

c++ timer unreal-engine4

2
推荐指数
1
解决办法
9473
查看次数

标签 统计

c++ ×1

timer ×1

unreal-engine4 ×1