我有一个指向Robot类的2d数组的指针
Robot ***rob;
以下是构造函数的代码。构造函数工作正常,但现在我正在尝试构建一个析构函数来删除这个指针,它继续崩溃程序!
我的问题是,如何删除指向2d机器人阵列的指针?
RobotsWorld::RobotsWorld(int x , int y)
{
X=x;Y=y; // returns the limitation of the matrix
rob = new Robot**[x];
for(int i = 0; i < x; i++)
{
rob[i] = new Robot*[y];
for(int j = 0; j < y; j++)
{
rob[i][j] = NULL;
}
}
}
答案 0 :(得分:1)
// Code is not tested
for(int i = 0 ; i < x ; ++i)
{
for(int j = 0 ; j < y ; ++j)
{
delete rob[i][j];
}
delete[] rob[i];
}
delete[] rob;
顺便问一下,为什么要设置rob[i][j] = NULL;
?
我认为应该是:rob[i][j] = new double;