UEnumでは「TRUE」や「FALSE」が使えない
本題
Unreal C++ ではEnum(列挙型)を定義する際に以下のように定義する
UENUM() enum class EHoge : uint8 { Hoge, Fuga, Var };
このとき列挙子(HogeやFuga等)でTrueやTRUE、FalseやFALSEを使うとエラーになる。
UENUM() enum class EHoge : uint8 { TRUE, // error : Missing '}' in 'Enum' };
回避方法
回避方法としてTRUEを使わない方法とプレフィックス(接頭辞)をつける方法がある。
TRUEを使わない方法。
UENUM() enum class EHoge : uint8 { MARU, BATSU };
プレフィックスをつける方法。
UENUM() enum class EHoge : uint8 { HOGE_TRUE, HOGE_FALSE };
都合の良い方を選べばOK。
エディタ側で作成できるEnum型のデータでは「TRUE」「FALSE」としてもエラーは起こらない。