RBTree 만들고 있었는데 트리안에 특정 노드와 그 자식까지 다 지우는 function만들고있는데 이상한 에러가 나네요.
// recursive helper function for tree deletion
// deallocates nodes in post-order
template <typename T>
void RBTree<T>::RemoveAll(Node<T>* node){
if (node == NULL){
return;
}
RemoveAll(node->left);
RemoveAll(node->right);
delete node;
return;
};
보면 엄청 간단한 코드인데 RemoveAll(node->left)에서 node->left가 EXC_BAD_ACCESS 에러가 나오게 하네요.
첫 두줄에서 노드가 null인 베이스케이스도 관리하고 있는데 왜 에러가 나오는건가요???
미리 감사드립니다.
이미 삭제된곳 접근하는거 아닙니까?