C++で作成したクラスの関数をBP側でオーバーライドする方法について

以下のことがしたいです。
①:C++で親クラスと関数(BPでオーバーライドする用)を作成
②:BPで①のC++クラスを親として子クラス作成
③:②のBPで①で作成した関数をオーバーライドする

ですが、下記画像のように①の関数の引数型によって
C++コンパイルが通ったり通らなかったりします。

コンパイルが通る場合(関数の引数がFloatの場合はコンパイルが通る)

関数の引数をFStringにするとコンパイルエラーが発生

画像1枚目(関数の引数型がFloat)の場合は問題なくコンパイルができて③のオーバーライドまでできるのですが、
画像2枚目(関数の引数型がFString)の場合はコンパイルが通りません。

型によって方法が異なるのでしょうか?
それとも根本的にやり方が間違っているのでしょうか?

FString(構造体)を引数にするのであれば、下記のように参照渡しのほうが良いでしょう
UnrealHeaderToolもおそらくこちらのパターンで生成するため、未実装扱いになっていると思われます

void TakeDamage(const FString& Damage);

蛇足ですが、エラー内容を確認する際はエラー一覧ではなく出力を確認してください

1 Like

T_Sumisakiさん、ありがとうございます!!
教えて頂いた方法で上手く動作するようになりました。
アドバイスもありがとうございます。これからはエラー一覧で確認するようにします。