CreateDefaultObject movement fails

WHY does this CreateDefaultSubobject return a nullptr? I can see nothing wrong with it. I copied this line for line from the wheeled vehicle example, but changed to simple movement.

header

private:
	UPROPERTY(Category = Vehicle, EditAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
	UWheeledVehicleMovementComponent* move;

cpp

Aprogramatic_vehicle_c::Aprogramatic_vehicle_c()
{
	move = CreateDefaultSubobject<UWheeledVehicleMovementComponent, USimpleWheeledVehicleMovementComponent>(TEXT("Move"));
}