C++ SpawnActor without the default contructor

You can always use StaticLoadObject() outside of the constructor. E.g.

FString meshActorPath = TEXT("Path to your asset");

AStaticMeshActor* s = Cast<AStaticMeshActor>(StaticLoadObject(AStaticMeshActor::StaticClass(), NULL, *meshActorPath));