这里的领域是代码混淆了我的片段:删除指针和使用已删除对象
T* pop(){
if(head == 0)
return 0;
T* result = head->data;
Link* oldHead = head;
head = head->next;
delete oldHead;
return result;
}
的result
指针maked指向头部的对象的“数据字段”。之后,head
被删除。由于data
字段与head
一起被删除,因此result
不得不指向空格或空格。
为了减少混淆,请使用['std :: stack <>'](http://en.cppreference.com/w/cpp/container/stack)。 –
链接析构函数是否清理数据?如果不是,那么不。 – Eddge
什么是链接?什么是头?我不能编译你的例子... –