我的析构函数中有分段错误,但我不太清楚为什么。该代码用于存储在节点数组中并链接以避免冲突的键/值对映射。
template<class V>
map<string, V>::~map()
{
for(unsigned int i = 0; i < SIZE; i++){
if(hashArray[i] != NULL){
Node* tmpNode = hashArray[i];
Node* currentNode = hashArray[i];
while(currentNode->next != NULL){
currentNode = currentNode->next;
delete tmpNode;
tmpNode = currentNode;
}
delete tmpNode;
}
}
delete [] hashArray;
}
调试器指向这条线,但我确定我不会超出范围。
while(currentNode->next != NULL){
如果需要,可以提供任何其他代码。预先感谢您的帮助。:)