我有一个指向一个类的指针,它有一个指向多维数组的指针,但是当我需要或将其设置为 NULL 时,我似乎无法从内存中删除它。
#define X 10
#define Y 10
struct TestClass
{
public:
int *pArray[X][Y];
};
// different tries, none working:
delete Pointer_To_TestClass->pArray[0][0];
delete[] Pointer_To_TestClass->pArray[0][0]
// or by simply:
Pointer_To_TestClass->pArray[0][0] = NULL;
我知道数组有数据,因为我可以在屏幕上看到结果。还要检查它是否已经为 NULL,然后不要尝试删除它。
由于我想删除另一个指针中的指针 - 这是一种不同的特殊情况吗?就像它删除了第一个指针,而不是指针内部的指针(pArray 是第二个指针,Pointer_To_Testclass 是第一个指针)
更新/解释
我希望能够删除 pArray[0][0] 而 pArray[0][1] 仍然存在,如果 [0][0] 不存在它应该等于NULL。主要是因为我想通过 [X][Y] 值访问这个数组以便于访问。如果 [0][0] 是一个指针,删除时它应该是 NULL,所以我可以检查它是否为 NULL。
有人有什么想法吗?