BlueprintImplementableEvent、またはBlueprintNativeEventで
TScriptInterfaceを引数に設定する時、
ビルドが通る設定と通らない設定があるのでメモを残す。
ビルドが通る引数
UFUNCTION(BlueprintPure, BlueprintImplementableEvent)
void Interfaces1(
/* Input */ const TScriptInterface<ITestInterfaceArgInterface>& InterfaceObjectInput,
/* Output */TScriptInterface<ITestInterfaceArgInterface>& InterfaceObjectOutput
);
「const」と「&」を付けるとビルドが通る。
ビルドが通らない引数
UFUNCTION(BlueprintPure, BlueprintImplementableEvent)
void Interfaces4(
/*Input*/ TScriptInterface<ITestInterfaceArgInterface> InterfaceObjectInput,
/*Output*/ TScriptInterface<ITestInterfaceArgInterface>& InterfaceObjectOutput
);
InterfaceObjectInputのところでビルドエラーが出る。
理由は詳しく調べません。
TScriptInterfaceは引数にできないと思い込んでいたので
もっと早く知りたかった…