0

ヘッダーにタイルオブジェクトの配列を定義しました

Tile* tiles;

次に、配列で参照されているクラスで関数を実行しようとすると、EXC_BAD_ACCESSというエラーコードが表示されます。

Tile* tiles[100][100];

for (int x=0;x<40;x++){
    for(int y=0;y<40;y++){
        tiles[x][y] = new Tile("tile_grass.png");
        tiles[x][y]->setPositionWorld(WorldPos::posWithPosition(x, y)); // error comes when this is ran
        this->addChild(tiles[x][y]);

    }
}

ポインターの配列の代わりに通常のポインターを使用すると問題なく動作するように見えますが、座標xとyがその特定のTileオブジェクトを保持していることをどういうわけか保存する必要があります。どうすればこれを修正できますか?

4

1 に答える 1

0

以下のコードを試してみましたが、非常にうまく機能しました。

`

int* test[100][100];
for(int i=0;i<40;i++)
{
    for(int j=0;j<40;j++)
    {
        test[i][j]=new int(1);
        cout<<*test[i][j];
    }
}`

問題はコンストラクターか関数呼び出しのどちらかにあると思います。

于 2012-04-15T14:20:27.877 に答える