Why is my c++ function a Pure blueprint function

Have you tried changing your *.h to be “virtual void Name (Parameters) [override];”. I am away from my game laptop but if you follow the construct of the BeginPlay syntax you should get the same results.

I am assuming you already have a UFUNCTION defined above the declaration.
UFUNCTION(BlueprintCallable)
virtual void FunctionName(int32 Parameter);