c ++无法使用标识符创建对象

时间:2013-11-11 03:21:38

标签: c++

我已经到处搜索了,我认为这是一个非常基本的问题,但我检查了一些其他人的代码,他们使用相同的方法创建一个具有唯一ID的对象,这就是为什么我不理解为什么它不能与我一起工作

所以这里是Enemy课程:

class cEnemy{
public:
       //code that doesnt matter
};

所以我想做的基本上是创造10个敌人,每个人都有一个唯一的标识符(0 ... 9),所以我正在做的是:

for (int i = 0; i < 10; i++){
       Enemy[i] = new cEnemy;
}

现在它已经给我一个错误: 错误C2065:'Enemy':未声明的标识符

但如果我写Enemy [5]而不是写Enemy [i],它可以正常工作。我想我错过了什么。

为什么呢?我在其他应用程序中看到此代码完全相同,它可以工作......

所以我的目标正如我所说的那样,用独特的Id创造10个敌人,然后可以访问每个敌人,但正如你所见,我甚至无法创建它们。

提前致谢。

PS:类和main在同一个cpp文件中

1 个答案:

答案 0 :(得分:1)

std::array<cEnemy, 10> Enemy;
for(int i = 0; i<10; ++i) {
    Enemy[i] = new cEnemy;
}

您必须先创建一个数组才能使用它。您获得的错误与您尝试执行的操作相同:

arrInt[i] = someInt;

在完成之前:

int arrInt[someCount];