函数不是野指针,到了主方法成为了野指针,怎么办!

img

debug到这里,link不是野指针

img

到了,主方法,link作为了野指针,帮我

delete函数里的link是形参,main函数里的link没有变,但是内存确实被释放了。所以link指向了被释放的内存地址,也就变成野指针了。你可以把link的值返回,或者用指针的指针作为参数。

你这里delete()函数修改的是局部变量linkmain()函数里的link没有被修改,但是它所指的内存delete()函数里被释放了。
delete()函数参数应该改为delete(node** link, int index),然后用*link替换link
main()函数里改为delete(&link, 0);