ヘッダファイル内でusingを用いて変換した方は使用できないことがわかりました。
(ソースファイル側ではできるようです)
ありがとうございました。
ヘッダファイル内でusingを用いて変換した方は使用できないことがわかりました。
(ソースファイル側ではできるようです)
ありがとうございました。
こんにちは
c++のusingエイリアス機能を使いたいです。
具体的には自作の構造体をusingで別の型名(仮にSとする)にして関数の戻り値や引数にしたいと考えています。
しかし、実際にSを使ってコードを書くと、
Unrecognized type ‘S’ - type must be a UCLASS, USTRUCT or UENUM
というエラーが出てしまいます。
何かいい方法はないでしょうか?
コーディング規約(doc)のNamespaces項にて触れてありますのでそちらに沿った形式でご利用下さい。
記載頂いたエラーだと型宣言の方法に誤りがあるようですが、どういったコードを書かれたのかが分からないと、
具体的にどこがどう誤っているか指摘し辛いです。基本構文に関してはEngineのソースから学習できますが、
個人で書かれたコードの不明点に関しては、ソースコードを記載いただけますと幸いです。
宜しくお願いします。
失礼しました。ソースの一部を上げたいと思います。
UCLASS(Blueprintable, BlueprintType)
class THIRD_API MyClass : public ACharacter
{
GENERATED_BODY()
public:
using S = FState;
UFUNCTION(BlueprintCallable)
void Func(S state);
};
コンストラクタなど不要と思った部分は省略しました。
FStateという構造体を自作し、それをusingを使ってSと置き換えました。(typedef FState S ; のような感じ)
そして置き換えたSを引数とした関数を宣言すると、宣言した行で Unrecognized… といったエラーが出ます。
一応typedefを使った型名の置き換えも試してみましたがこの場合も Unrecognized… というエラーが出ました。
ue4では型の置き換えはできないのでしょうか?