将类插入数组会导致奇怪的访问错误

Inserting class into array results in weird access error

本文关键字:访问 错误 插入 数组      更新时间:2023-10-16

>我在标头中定义了一组 Tile 对象

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 对象。我该如何解决这个问题?

我尝试了下面的代码,它工作得很好。

'

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];
    }
}`

我认为问题出在您的构造函数或函数调用中。