any one knows how y can send a message with Uinterface in c++ and with Fhitresult with a linetrace?

void APlayer_character::Interact()
{
//Linetrace Log
UE_LOG(LogTemp, Display, TEXT(“”));

//Linetrace vectors
FVector Start = Camera->GetComponentLocation();
FVector End = Start + Camera->GetComponentRotation().Vector() * 300.0f;

//Linetrace Hit
FHitResult HitResult;
FCollisionQueryParams Params;
Params.AddIgnoredActor(this);

//Linetrace visibility
DrawDebugLine(GetWorld(), Start, End, FColor::Red, false, 2.0f);

//Linetrace message
if (GetWorld()->LineTraceSingleByChannel(HitResult, Start, End, ECollisionChannel::ECC_WorldStatic, Params))
{
	UE_LOG(LogTemp, Display, TEXT("HIT ACTOR"));
	
	if (HitResult.GetActor())
	{
		UE_LOG(LogTemp, Warning, TEXT("Hit Actor: %s"), *HitResult.GetActor()->GetName());
	

	}
}

ADoor1* Door = Cast<ADoor1>(HitResult.GetActor());
if (Door)
{
	Door->OnInteract();
}

}

AActor* HitActor = HitResult.GetActor();

if (HitActor->GetClass()->ImplementsInterface(UInterface::StaticClass())) 
{
     IInterface::Execute_OnInteract(HitActor);

   // or depending if its  bp or cpp

     if (IInterface* inter = Cast<IInterface>(HitActor)) {
				inter->OnInteract();
     }
}

Just replace the U&I interface with your interface name and the Execute_ prefix should be followed by the interface function you want to call passing in the object on which the interface is called & then arguments separated by commas if the function takes any