The syntax for AddDynamic is as follows
OnComponentOverlap.AddDynamic(this, &ANPC::OnOverlapThing);
It looks like your issue is with the function that you are binding the delegate to. It is expecting the following function definition
void OnOverlapThing(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult & SweepResult);
Hopefully this helps!