忍者ブログ

DeltaLabWorks

Windows32bitでパッケージできないときの対処

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

Windows32bitでパッケージできないときの対処

C++の関数の引数にFTransformが使われているとだめらしい

例えば
virtual void ExampleFunction(FTransform Trans)
こんな感じだとだめ

これを
virtual void ExampleFunction(const FTransform& Trans)
って感じの参照渡しにすれば解決する。

しかし、なぜか構造体のコンストラクタに参照渡しがあった場合は同じエラーが出た。
問題のコンストラクタはこんな感じ
FEnemySpawnInfo(const FTransform& InTrans, TSubclassOf<class AAPCharacter> InCharacterClass, TSubclassOf<class AAPBot> InBotClass, float InSpawnDelay){}

ポインタ渡しにすれば大丈夫だった。
FEnemySpawnInfo(const FTransform* InTrans, TSubclassOf<class AAPCharacter> InCharacterClass, TSubclassOf<class AAPBot> InBotClass, float InSpawnDelay){}

なぜここだけ参照渡しではだめだったのかは不明。

参考
https://answers.unrealengine.com/questions/50892/shipping-formal-parameter-with-declspecalign16-won.html

追記
FEnemySpawnInfo(const FTransform& InTrans){}
が大丈夫なのを確認。
引数の総サイズが大きすぎるとだめなのか?
PR

コメント

プロフィール

HN:
Sankaku
性別:
非公開

P R