What are you trying to do here?
If ASplinePipe is an actor you’ve created yourself and you want to make it appear in the world, you can use ASplinePipe* Pipe = GetWorld()->SpawnActor<ASplinePipe>() to spawn the actor and store a reference to it.
CreateDefaultSubobject is used when you want to instantiate a subobject for an actor.
GetWorld()->SpawnActor is used when you want to spawn an actor somewhere in the world.
Basically, you’re trying to create an actor using a method used to create a subobject. They are two completely different things 