youtubeのチュートリアル動画で書かれているコードなのですが、まったく文法的に理解できない一行がありました。
C++
1AAIBotController::AAIBotController() 2{ 3 PrimaryActorTick.bCanEverTick = true; 4/**************************************************************************************/ 5 SightConfig = CreateDefaultSubobject<UAISenceConfig_Sight>(TEXT("Sight Config")); 6/**************************************************************************************/ 7 SetPerceptionComponent(*CreateDefaultSubobject<UAIPerceptionComponent>(TEXT("Perception Component"))); 8 9 SightConfig->SightRadius = AISightRadius; 10 SightConfig->LooseSightRadius = AISightAge; 11 SightConfig->PeripheralVisionAngleDegrees = AIFieldOfView; 12 SightConfig->SetMaxAge(AISightAge); 13 14 SightConfig->DetectionByAffiliation.bDetectEnemies = true; 15 SightConfig->DetectionByAffiliation.bDetectFriendlies = true; 16 SightConfig->DetectionByAffiliation.bDetectNeutrals = true; 17 18 GetPerceptionComponent()->SetDominantSense(*SightConfig->GetSenseImplementation()); 19 GetPerceptionComponent()->OnPerceptionUpdated.AddDynamic(this, &AAIBotController::OnPawnDetected); 20 GetPerceptionComponent()->ConfigureSense(*SightConfig); 21 22}
コメントで強調してある部分ですが、クラスとテンプレートと、マクロなどで何をしているのかいまいちよくわかりません。
※追記
マクロ部分などは解決しましたが、テンプレートの意味がまだあまり分かってません・・・
Syntax
1template<class TReturnType, class TClassToConstructByDefault> 2TReturnType * CreateDefaultSubobject 3( 4 UObject * Outer, 5 FName SubobjectName, 6 bool bTransient 7)
これがシンタックス部分なのですが、
Syntax
1template<class TReturnType, class TClassToConstructByDefault>
これがテンプレートを使用した宣言で、一つが戻り値の型となるクラスなのはわかるのですが、もう一つのTClassToConstructByDefaultが意味わかりません。
どうかよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/15 16:45