LoginSignup
4
4

More than 5 years have passed since last update.

UE4 で C++ プログラミングではまった事のまとめ( ※随時更新 )

Last updated at Posted at 2016-01-04

環境

UE 4.10.0
Visual Studio 2015

概要

Unreal Engine 4 の C++ コーディングではまった点をまとめ
※随時更新予定

本文

CreateDefaultSubobject はコンストラクタでコールする

スタティックメッシュコンポーネントを追加しようとして以下のコードを BeginPlay
で以下のコードを追加したら、エディタがクラッシュした。
void AMyActor::BeginPlay()
{
Super::BeginPlay();
UStaticMeshComponent* sphere = CreateDefaultSubobject(TEXT("sphere_component"));
sphere->AttachTo(RootComponent);
}

CreateDefaultSubobject が nullptr を返しているのか?と思ったが戻り値にアクセス
しなくてもエディタがクラッシュするので調査してみたら CreateDefaultSubobject
はコンストラクタでコールするものらしい。
コンストラクタでしか呼べないならコンパイル時になんとか分からないだろうか。。。
( むずかしいけど、ビルド拡張しているなら可能な気がする )。
せめてエディタクラッシュは勘弁してほしい( nullptr 返しても良いから )。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4