Where is my thinking mistake?

@STRiFE.x i try this, but doesnt work, why?

in .h

UPROPERTY()
AMyCharacter* EnemyCharacter;

in .cpp

void AMyCharacter::BeginBoxOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult & SweepResult)

{

if (OtherActor != this)

{

AMyCharacter* MeChar = Cast<AMyCharacter>(OtherActor);

    if (MeChar)

    {

    EnemyCharacter = MeChar;

    }

}

}

void AMyCharacter::F_Taste()

{

if (FinisherMontage)

{
    if (EnemyCharacter)

    {

    EnemyCharacter->PlayAnimMontage(FinisherMontage, 1.f, FName("KO"));

    }

}

}

why??? thx for help