0
소멸자에 세그먼트 화 오류가 있지만 그 이유가 확실하지 않습니다. 이 코드는 노드 배열에 저장되고 충돌을 피하기 위해 체인으로 연결된 키/값 쌍의 맵입니다.소멸자의 세그먼트 범위 이탈 오류
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){
필요한 경우 다른 모든 코드를 제공 할 수 있습니다. 당신의 도움에 미리 감사드립니다. :)
새로 할당하지 않은 것을 삭제하지 마십시오. – chris
생성자에서 모두 새 것으로 할당 되었습니까? –
hashArray = 새 노드 * [SIZE]; // 배열의 경우 –