首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请问指针使用有关问题

2012-02-28 
请教指针使用问题functionsum(x:^integery:^integer):integerbeginresult:x^+y^endprocedureTForm1.B

请教指针使用问题
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;

热点排行