我是 C++ 和 UE 的新手。 我尝试了一些简单的编程,但编辑器崩溃了。
#include "NewActorComponent.h"
#include "Runtime/Engine/Classes/GameFramework/Actor.h"
UNewActorComponent::UNewActorComponent()
{
PrimaryComponentTick.bCanEverTick = true;
GetOwner()->GetName();
}
我知道输出可能为空,因此它崩溃了,但我不知道如何在不崩溃的情况下预期错误。
最佳答案
Actor 组件可能已创建但未初始化或附加到对象。您应该将此类检查置于 IF 语句后面,或使用断言/检查宏。
此外,您可能想使用 BeginPlay() 函数而不是构造函数。 BeginPlay 需要注册并初始化组件,因此它应该有一个所有者。
关于c++ - GetOwner() 导致虚幻编辑器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46277343/