Open1

ue4 インターフェースメモ

ダリアダリア

UE4のc++で作ったインターフェースをUObjectの関数の引数に渡そうと思ったらコンパイルエラーが出るけどなんでだ…?

Hoge
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "Hoge.generated.h"

/**
 * 
 */
UINTERFACE(Blueprintable)
class Hoge_API UHoge : public UInterface
{
	GENERATED_BODY()
	
};

class Hoge_API IHoge
{    
	GENERATED_BODY()
public:
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	bool HogeHoge();
};

HogeHelper


UCLASS(Abstract, Blueprintable, MinimalAPI)
class UHogeHelper : public UObject
{
	GENERATED_BODY()
public:
	
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void StartHoge(IHoge* Object);
};

って書いたら

  [C2511] 'void UHogeHelper::StartHoge(const TScriptInterface<IHoge> &)': オーバーロードされたメンバー関数が 'UHogeHelper' にありません。
  [C2511] 'UHogeHelper' の宣言を確認してください