【发布时间】:2012-11-23 16:40:02
【问题描述】:
我有一个指向机器人类二维数组的指针
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;
}
}
}
【问题讨论】:
-
您将指针设置为空,而不是删除它。
-
你正在做一个你可以用指针做的最危险的事情之一,当你考虑删除它时将它设置为 NULL;您可能想采用智能指针并为自己省去很多麻烦。