动态分配的数组类对象



我正在尝试动态分配对象数组。我的项目中有一个敌人类,我想创建5个敌人。经过详尽的研究,我找不到问题的答案。

Enemy* mainEnemy = new Enemy(enemyShip)[5];

有一个错误:不存在从敌人到敌人的合适转换。

当我删除指针时,这一行没有错误:

Enemy mainEnemy = new Enemy(enemyShip)[5];

但是我如何处理像这样创建的对象呢?我不能这样设置单个对象的位置:

mainEnemy[0]->StartingPosition(); // no operator "[]" matches these operands . operand types are: Enemy[int]

建议:考虑使用向量。

const size_t NUM_ENEMIES{ 5 };
std::vector<Enemy*> enemies(NUM_ENEMIES, new Enemy(enemyShip));

你的问题:如果你想动态创建一个由5个敌人组成的阵列。

const size_t NUM_ENEMIES{ 5 };
Enemy* enemies[NUM_ENEMIES]{};
for( int x=0; x < NUM_ENEMIES; ++x )
{
enemies[x] = new Enemy(enemyShip);
}

最新更新