Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 删除动态内存_C++_List_Hashtable_Dynamic Memory Allocation_Singly Linked List - Fatal编程技术网

C++ 删除动态内存

C++ 删除动态内存,c++,list,hashtable,dynamic-memory-allocation,singly-linked-list,C++,List,Hashtable,Dynamic Memory Allocation,Singly Linked List,我有一个哈希表模板类,删除动态数组时遇到问题。(SLList=单链接列表) 我的数据成员是: SLList<Type>* m_ht; unsigned int(*m_hFunction) (const Type &v); unsigned int m_numOfBuckets; SLList*m_ht; 无符号整数(*m_H函数)(常数类型&v); 无符号整数m_numo; 在我的构造函数/赋值运算符中,我有分配动态内存的“new”: m_ht = new SLList&

我有一个哈希表模板类,删除动态数组时遇到问题。(SLList=单链接列表)

我的数据成员是:

SLList<Type>* m_ht;
unsigned int(*m_hFunction) (const Type &v);
unsigned int m_numOfBuckets;
SLList*m_ht;
无符号整数(*m_H函数)(常数类型&v);
无符号整数m_numo;
在我的构造函数/赋值运算符中,我有分配动态内存的“new”:

m_ht = new SLList<Type>[numOfBuckets];
m_ht=newsllist[numofbucket];
我的析构函数:

m_ht = nullptr;
for (size_t i = 0; i < m_numOfBuckets; ++i) // idk if this for loop
    delete m_ht[i];                         // is correct
delete[] m_ht;
m_ht=nullptr;
for(size\u ti=0;i
在关闭程序并跟踪内存泄漏后,它们指向这两个“m_ht=new…”,我不知道如何正确删除它们


谢谢大家!

你应该移动
m_ht=nullptr到最后一行。否则,以下
delete
delete[]
无法获取要发布的地址。

您应该移动
m_ht=nullptr到最后一行。否则,以下
delete
delete[]
无法获取要发布的地址