0

このようなオブジェクトのヌル終了配列を作成しようとしています

void Game::createCreatures(int numCreatures) {
    creatures = new Creature *[numCreatures + 1];
    for (int i = 0; i <= numCreatures; i++) {
        if(i < numCreatures) {
            creatures[i] = new Runner(maze);
        } else creatures[i] = NULL;
    }
}

次に、このようにアクセスします

for (Creature *creature = creatures[0]; creature != NULL; creature++) {
    creature->travel();
}

私は正確に何を間違っていますか?クリーチャーを「移動」しようとすると、EXC_BAD_ACCESS を受け取ります。for ループへのアクセスを使用してすべてのクリーチャーのアドレスを出力しようとすると、永久に出力されるため、配列の作成に問題があることはわかっています。ポインター ロジックに何か問題があることはわかっています。

生き物宣言はこちら

Creature **creatures;
4

2 に答える 2