不指定类型delete指针
若:
void * pArray = NULL;
pArray = new CArray <int, int> ;
...
delete pArray;
问:
此时CArray使用到的动态内存能够被释放干净嘛?
再问:
若改为(CArray <int, int> *)pArray = new CArray <int, int> ;
或delete (CArray <int, int> *)pArray;
则CArray使用到的动态内存能够被释放干净嘛?
[解决办法]
不能,因为delete pArray;的时候没有调用CArray <int, int> ;的析构函数
delete (CArray <int, int> *)pArray这个时候调用了析构函数.