How would i fix my custom cmc movement code?


#include "CoreMinimal.h"
#include "GameFramework/CharacterMovementComponent.h"
#include "VelocityCharacterMovementComponent.generated.h"

UCLASS()
class VELOCITYX_API UVelocityCharacterMovementComponent : public UCharacterMovementComponent
{
	GENERATED_BODY()

	class FSavedMove_Velocity : public FSavedMove_Character
	{
		typedef FSavedMove_Velocity Super;

		uint8 Saved_bWantsToSprint:1;

		virtual bool CanCombineWithMove(const FSavedMovePtr* NewMove, ACharacter* InCharacter, float MaxDelta) const override;
		virtual void Clear() override;
		virtual uint8 GetCompressedFlags() const override;
		virtual void SetMoveFor(ACharacter* C, float InDeltaTime, FVector const& NewAccel, class FNetworkPredictionData_Client_Character& ClientData) override;
		virtual void PrepMoveFor(ACharacter* C) override;
	};

	class FNetworkPredictionData_Client_Velocity : public FNetworkPredictionData_Client_Character
	{
	public:
		FNetworkPredictionData_Client_Velocity(const UCharacterMovementComponent& ClientMovement);

		typedef FNetworkPredictionData_Client_Velocity Super;

		virtual FSavedMovePtr AllocateNewMove() override;
	};

	UPROPERTY(EditDefaultsOnly) float Sprint_MaxWalkSpeed;
	UPROPERTY(EditDefaultsOnly) float Walk_MaxWalkSpeed;
	
	bool Safe_bWantsToSprint;

public:
	UVelocityCharacterMovementComponent();
public:
	virtual FNetworkPredictionData_Client* GetPredictionData_Client() const override;
protected:
	virtual void UpdateFromCompressedFlags(uint8 Flags) override;

	virtual void OnMovementUpdated(float DeltaSeconds, const FVector& OldLocation, const FVector& OldVelocity) override;

public:
	UFUNCTION(BlueprintCallable) void SprintPressed();
	UFUNCTION(BlueprintCallable) void SprintReleased();
}; ```

wait i fixed most of it rn im just getting the error
0>VelocityCharacterMovementComponent.cpp(52): Error C7535 : 'UVelocityCharacterMovementComponent::FNetworkPredictionData_Client_Velocity::FNetworkPredictionData_Client_Velocity': delegating constructor calls itself