0

私はすでにどこでも検索しましたが、これは本当に基本的な問題だと思いますが、他の人のコードをチェックしたところ、同じ方法を使用して一意の 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[i] を書く代わりに Enemy[5] を書くと、うまく動作します。私は何かが欠けていると思います。

なんで?このコードは他のアプリケーションでもまったく同じで、動作します...

私の目的は、一意の ID を持つ 10 の敵を作成し、それぞれにアクセスできるようにすることですが、ご覧のとおり、それらを作成することさえできません。

前もって感謝します。

PS: クラスとメインは同じ cpp ファイルにあります

4

1 に答える 1

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

アレイを使用する前に、アレイを作成する必要があります。あなたが得ているエラーは、あなたがやろうとしていたのと同じです:

arrInt[i] = someInt;

行う前に:

int arrInt[someCount];
于 2013-11-11T03:24:21.697 に答える