Hello and welcome to the forums.
You’ve done nothing wrong. The tutorial has been written using an older Unreal Engine version so some things have changed over time.
In your header file the signature of the OnHit function looks probably like this:
UFUNCTION()
void OnHit(AActor * Actor, UPrimitiveComponent * PrimitiveComponent, FVector Vector, const FHitResult & HitResult);
However the signature expected by the OnComponentHit delegate has changed so your code should instead look like this:
UFUNCTION()
void OnHit(UPrimitiveComponent * PrimitiveComponent1, AActor * Actor, UPrimitiveComponent * PrimitiveComponent2, FVector Vector, const FHitResult & HitResult);
Goes without saying that you’ll also need to change the implementation.
In order that you’ll be able to fix other potential errors of this type the compiler error message essentially boils down to “cannot convert argument 2 from ‘void (__cdecl AFPSProjectile::* )(AActor *,UPrimitiveComponent ,FVector,const FHitResult &)’ to 'void (__cdecl AFPSProjectile:: )(UPrimitiveComponent *,AActor *,UPrimitiveComponent *,FVector,const FHitResult &)’” if you ignore everything else for the moment. While this is the error message it also gives you a hint to fix it.