读书人

请问指针使用有关问题

发布时间: 2012-02-28 13:06:35 作者: rapoo

请教指针使用问题
function sum(x:^integer;y:^integer):integer;
begin
result:=x^+y^;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:^integer;
begin
a^:=strtoint(memo1.Lines[1]);
b^:=strtoint(memo1.Lines[2]);
c:=sum(x,y);
showmessage(inttostr(c));
end;
编译出错,高手帮忙看看.

[解决办法]
function sum(x: PInteger; y: PInteger): Integer;
begin
Result := x^ + y^;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
a, b, c: PInteger;
begin
if Memo1.Lines.Count < 3 then Exit; // 检查
New(a);New(b);New(c); // 分配内存
a^ := StrToInt(Memo1.Lines[1]);
b^ := StrToInt(Memo1.Lines[2]);
c^ := sum(a, b);

ShowMessage(IntToStr(c^));
Dispose(a);Dispose(b);Dispose(c); // 释放内存
end;

读书人网 >.NET

热点推荐