Every time I try to override an interface function in my Cabinet class, Unreal Engine returns an error: …Cabinet.h(25) : error C3668: ‘ACabinet::Interact_Implementation’: method with override specifier ‘override’ did not override any base class methods
I am very new to C++ interfaces, so any help is appreciated.
My Interaction Interface:
#pragma once
#include "InteractionInterface.generated.h"
UINTERFACE(MinimalAPI, Blueprintable)
class UInteractionInterface : public UInterface
{
GENERATED_BODY()
};
class IInteractionInterface
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void Interact(USceneComponent* HitComponent);
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void ExternalTrigger();
};
The relevant part of Cabinet.h:
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "InteractionInterface.h"
#include "Components/TimelineComponent.h"
#include "Cabinet.generated.h"
UCLASS()
class UNDERWATER_API ACabinet : public AActor, public IInteractionInterface
{
GENERATED_BODY()
private:
void Interact_Implementation(USceneComponent* HitComponent) override;
};
The interface function in Cabinet.cpp:
void ACabinet::Interact_Implementation(USceneComponent* HitComponent)