Вот мой класс IFBloc:
Код: Выделить всё
class IFBloc {
GENERATED_BODY()
public:
IFBloc() {
UE_LOG(LogTemp, Warning, TEXT("Constructor: next object after init is %s"), next.GetObject() ? TEXT("valid") : TEXT("nullptr"));
}
TScriptInterface next = nullptr;
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category="Bloc")
void CleanChainedList();
void CleanChainedList_Implementation()
{
UE_LOG(LogTemp, Warning, TEXT("chained list: next object is %s"), next.GetObject() ? TEXT("valid") : TEXT("nullptr"));
UObject* Object = next.GetObject();
if (Object != nullptr && next != nullptr) {
UE_LOG(LogTemp, Warning, TEXT("Object not null"));
// if (Object->GetClass()->ImplementsInterface(UFBloc::StaticClass()))
// {
// // IFBloc::Execute_CleanChainedList(Object);
// }
}
next.SetObject(nullptr);
}
// other functions
};

Вот моя консоль журнала:
Код: Выделить всё
Constructor: next object after init is nullptr
chained list: next object is valid
Object not null
Когда я пытаюсь что-то сделать с новым присвоенным значением, например распечатать его, Unreal Engine аварийно завершает работу.
Вы хоть представляете, как получается моя переменная? значение без какой-либо причины или другая проверка, которую я могу сделать, чтобы быть действительно уверенным что я никогда не присваивал значение этой переменной?
Подробнее здесь: https://stackoverflow.com/questions/793 ... being-null
Мобильная версия