在窗口中某按钮事件调用该函数,用来创建新的结点,TLink是一个结点类,tail是链表表尾指针。我用单步执行调程序,发现不管添加多少次结点,每次在这个函数中创建的对象的地址都是相同的,这样的话根本就不能实现链表...请问程序问题出在哪里,应该如何修改,谢谢!
function TLList.Append(const elem: integer): boolean;
var
tmp: TLink;
begin
tmp := TLink.Create(elem);
tail^.next := @tmp;
tail := @tmp;
rightlen := rightlen+1;
result := true;
end;
function TLList.Append(const elem: integer): boolean;
var
tmp: TLink;
begin
tmp := TLink.Create(elem);
tail^.next := @tmp;
tail := @tmp;
rightlen := rightlen+1;
result := true;
end;
tail^.next := @tmp;
tail := @tmp;
->
tmp := TLink.Create(elem);
tail^.next := tmp;
tail := tmp;
private
value: integer;
next: PLink;
public
{method}
end;
next是指针类型,如果把对象赋值给指针编译通不过。