Interface method add an object following the same interface

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "../Shared/Definition/WvLevelObjectType.h"
#include "../Shared/Definition/WvMonsterType.h"
#include "WvGamePlayAttackerInterface.generated.h"

// This class does not need to be modified.
UINTERFACE(MinimalAPI)
class UWvGamePlayAttackerInterface : public UInterface
{
	GENERATED_BODY()
};

/**
 * 
 */
class WAVE_API IWvGamePlayAttackerInterface
{
	GENERATED_BODY()

	// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void AddDamageable(const IWvGamePlayAttackerInterface* damageableObject);
};

I get some compilation error. As title, I would like to add an object following same interface.
Any one has feedback.