我想删除二叉树搜索,但出现错误

时间:2019-07-27 09:02:21

标签: c binary-tree address-sanitizer

我想删除BST,我的程序可以运行,但是,我不知道,AddressSanitizer发现错误。

void clear_maxlist(max_list* position){
  if(position == NULL)
    return;
  clear_maxlist(((position)->left));
  clear_maxlist(((position)->right));
  free(position);
}

我收到此错误:

==6643==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x0000004039c1 bp 0x7ffdc2a35f20 sp 0x7ffdc2a35f10 T0)

1 个答案:

答案 0 :(得分:0)

您的树中必须有一个节点,其leftright指针应为NULL,但不是。因此,构造树的代码中肯定有错误。