c++ - GetOwner() 导致虚幻编辑器崩溃

标签 c++ crash unreal-engine4

我是 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/

相关文章:

c++ - std::map + std::tr1::bind + 标准算法是否值得?

ios - 应用程序仅在 iPhone7 上崩溃 : Fatal Exception: CALayerInvalidGeometry CALayer position contains NaN: [nan nan]

c++ - 在UnrealEngine中动态创建SphereComponent

c++ - 如何检测插入/插入Oculus触摸 Controller ?

php - 如何用 C++ 扩展 PHP?

c++ - 未初始化 auto_ptr 时 get() 是否可靠?

java - Groovysh 无法启动并出现 java.lang.NoSuchMethodError

python - 从线程调用PyObject_Call导致堆栈溢出

c++ - C:数据结构对齐

android - 为什么我从 Market 收到 java.lang.UnsatisfiedLinkError 报告