如何在C ++ UE4中修复错误``函数式宏调用''TEXT''的参数过多

时间:2019-03-30 05:15:42

标签: c++ visual-studio unreal-engine4

我正在尝试打印一条消息,其中包含编译器将找到的对象名称。我收到一个错误消息,说我对于函数(例如宏调用)必须有很多参数。我打算对udemy进行讨论,这是该视频的链接:https://www.udemy.com/unrealcourse/learn/v4/t/lecture/4590240?start=0

我尝试了以下代码:

#include "PositionReport.h"
#include "Gameframework/Actor.h"

UPositionReport::UPositionReport()
{

    PrimaryComponentTick.bCanEverTick = true;


}



void UPositionReport::BeginPlay()
{
    Super::BeginPlay();


    FString ObjectName = GetOwner()->GetName();
    //The error is right here
    UE_LOG(LogTemp, Warning, TEXT("Position report for %s!", *ObjectName));

}
void UPositionReport::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
    Super::TickComponent(DeltaTime, TickType, ThisTickFunction);


}

是否有解决方案可以阻止此错误的发生?

1 个答案:

答案 0 :(得分:0)

您的变量参数需要在TEXT()宏的允许范围之外,如下所示:

UE_LOG(LogTemp, Log, TEXT("Pathname: %s"), *UnrealPath);