Вызовите метод класса, чтобы уничтожить вызывающий его объект.C++

Программы на C++. Форум разработчиков
Anonymous
Вызовите метод класса, чтобы уничтожить вызывающий его объект.

Сообщение Anonymous »

Я разрабатываю игру на Unreal Engine 5.4.4 и C++ с использованием Visual Studio 2022.
Из класса символов я вызываю метод GameMode, который уничтожит этот класс символов, вызывающий этот метод:

Код: Выделить всё


void ASCharacter::OnDied(AActor* InstigatorActor)
{
ASGameModeBase* GameMode = GetWorld()->GetAuthGameMode();
if (GameMode)
{
GameMode->OnActorKilled(this, InstigatorActor);
}
}
Метод GameMode:

Код: Выделить всё

void ASGameModeBase::OnActorKilled(AActor* VictimActor, AActor* Killer)
{
ASCharacter* Player = Cast(VictimActor);
if (Player)
{
// Other code…
Player->Destroy();
}
}
Могут ли возникнуть какие-либо проблемы при вызове метода, который уничтожит вызывающий его класс?


Подробнее здесь: https://stackoverflow.com/questions/798 ... calling-it

Вернуться в «C++»