for i := 0 to 100 do
begin
setlength(a,high(a)+1);
a[high(a)].p1:=i;
a[high(a)].p2:=i*4;
a[high(a)].p3:=i*3;
end;
为何出现写错误?
...全文
183打赏收藏
关于动态数组请教
我有一段代码如下: type b=record p1,p2,p3:integer; end; var i:integer; a:array of b; for i := 0 to 100 do begin setlength(a,high(a)+1); a[high(a)].p1:=i; a[high(a)].p2:=i*4; a[high(a)].p3:=i*3; end; 为何出现写错误?
setlength(a,1);
for i := 0 to 100 do
begin
a[ip1:=i;
a[ip2:=i*4;
a[ip3:=i*3;
setlength(a,high(a) + 2); //high返回最高数组的最好维数,如返回3,则实际有4个
//元素,所以重新设置要设置5个元素。
end;