Error E0393

I am having trouble with setting up my player input I used the basic code template and when I try to bind the axis on it the PlayerInputComponent pops up with an error but only on the one with the binding my .h file has no errors in it

my .cpp file

// Called to bind functionality to input
void AArturia::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);

check(PlayerInputComponent);
PlayerInputComponent->BindAxis("MoveForward", this, &AArturia::MoveForward);

}

void AArturia::MoveForward(float value)
{
if (Controller && value) {
AddMovementInput(GetActorForwardVector(), value);
}
}

void AArturia::MoveRight(float value)
{
if (Controller && value) {
AddMovementInput(GetActorRightVector(), value);
}

}

any help regarding why it pops up an error is greatly appreciated I’m still fairly new to C++

same error

(Sorry for my english, I am a french student)
I have resolved this error in my project (in UE 4.16 too) by include “Engine.h” in .cpp file. You can try.

This also solved my issue