UE4 の C++ プログラミング入門のBlueprintReadWriteを入力するところなのですが、1> G:/Unreal Projects/MyProject3/Source/MyProject3/MyActor.h(13) : BlueprintReadWrite should not be used on private members
1>Error : Failed to generate code for MyProject3Editor - error code: OtherCompilationError (5)
というエラーが出てうまくいきません。どなたかわかる方ご教授をお願いします。
「error code: OtherCompilationError」は
下記のサイトにもあります
~.hにgenerated.hのインクルードが定義されてない時のエラー
の項目に該当するかなと考えられますので
下記サイトをご参照して、該当するヘッダーをインクルードしてみてください。
mwashimiさん回答ありがとうございます。
確認したところgenerated.hはインクルードされていたので、違うものが原因のようです・・・
そうすると打ち間違いやセミコロン(;)が抜けていたりしませんか?
BlueprintReadWrite should not be used on private members
BlueprintReadWrite の部分が private になっていませんか?
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = “Damage”)
int32 TotalDamage;
この部分を public: 以降に書く必要がありますー。
何もない場所に書くと private として定義されてしまうので、public 以下に書かないといけない感じですね。
打ち間違いやセミコロンの抜けもないようです;
OtherCompilationError (5)なのでまた別のエラーなのでしょうか。
#pragma once
#include “GameFramework/Actor.h”
#include “MyActor.generated.h”
UCLASS()
class MYPROJECT3_API AMyActor : public AActor
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Damage")
int32 TotalDamage;
public:
// Sets default values for this actor’s properties
AMyActor();
// Called when the game starts or when spawned
virtual void BeginPlay() override;
// Called every frame
virtual void Tick( float DeltaSeconds ) override;
};
記述したものをコピーしてきました。 どこか間違っているのでしょうか・・・
見にくくなってしまってすいません。こういったところに書き込むのは初めてなもので・・・
cellfusionさん、ご指摘ありがとうございました。無事動くようになりました。
ただ、一つ疑問に思ったのですが、公式サイトのUE4 の C++ プログラミング入門ではGENERATED_BODY()の直下に書かれているようなのですが、こちらは間違いなのでしょうか。
わかりました。cellfusionさんどうもありがとうございました。また明日からゲームを作れるように頑張りたいと思います。
そうですね。何かの事情で省略してしまっているのかもしれません。 以前のバージョンだと問題なかったのか…ちょっとその頃はC++でのコードは書いてなかったのでわかりませんが、現在のバージョンではprivateでは駄目なので現状だと間違いになると思います。
お気になさらずに気軽に書き込んでくださいませ!