我正在尝试打印一条消息,其中包含编译器将找到的对象名称。我收到一个错误消息,说我对于函数(例如宏调用)必须有很多参数。我打算对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);
}
是否有解决方案可以阻止此错误的发生?
答案 0 :(得分:0)
您的变量参数需要在TEXT()宏的允许范围之外,如下所示:
UE_LOG(LogTemp, Log, TEXT("Pathname: %s"), *UnrealPath);