我有一个指向机器人类的二维数组的指针
Robot ***rob;
下面是我的构造函数代码。构造函数工作正常,但是现在我试图构建一个析构函数以删除此指针,并且它继续使程序崩溃!
我的问题是,如何删除指向机器人二维数组的指针?
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;
}
}
}
最佳答案
// 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;
关于c++ - 删除指向2D数组的指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13532920/