多次元配列へのポインタを持つクラスへのポインタがありますが、必要なときにメモリから削除したり、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は2番目のポインター、Pointer_To_Testclassは最初のポインターです)
更新/説明
pArray[0][1]がまだ存在している間にpArray[0][0]を削除できるようにしたいのですが、[0] [0]が存在しない場合は、NULLに等しくする必要があります。ほとんどの場合、簡単にアクセスできるように[X][Y]値でこの配列にアクセスしたいからです。[0] [0]がポインタの場合、NULLかどうかを確認できるように、削除時にNULLにする必要があります。
誰かアイデアはありますか?