为什么GetAllActorsOfClass返回空



我有一个PlayerControl.cpp类派生自Pawn类

在这个类中,我有一个方法来获取Map

中的所有actor
TSubclassOf<AEnemy> ClassToFind;
 TArray<AActor*> FoundEnemies;
 UGameplayStatics::GetAllActorsOfClass(GetWorld(), ClassToFind, FoundEnemies);

但是FoundEnemies数组总是空的,当我在BP中做同样的事情时,它可以工作。

谁能告诉我为什么这不能在c++中工作?或者如果我做错了,如何做正确?

我终于找到了自己问题的答案

我应该给变量"ClassToFind"赋一个值所以添加行classToFind = AEnemy::StaticClass();修复了这个问题

TSubclassOf<AEnemy> classToFind;
    classToFind = AEnemy::StaticClass();
    TArray<AActor*> foundEnemies;
    UGameplayStatics::GetAllActorsOfClass(GetWorld(), classToFind, foundEnemies);

最新更新