但编译会出错的,就在aa[0]:=a1以后的编译中,会出现 Incompatible Types:'array' and 'Dynamic array'这样的错误,请解释一下好吗?谢谢
哦,忘了一句,先 setlength(aa[0],length(a1));
同意neweb(永不言败) 的看法, var aa : array of array of integer; begin setLength(aa[0],length(a1)); aa[0]:= a1; setlentth(aa[1],length(a2)); aa[1]:= a2; ... setlength(aa[i],length(ai)); aa[i]:= ai; end;
我弄错了,aa: array of array of integer; 其实是个二维数组,但是你的常数数组不等长,只能 aa[0][0]:=a1[0] ;这样的话也许还不如不用,我试了 aa := varArrayCreate([0,1],varArray) ;也不行,看来还是用指针好。
var aa : array of array of integer; a1:array[0..4] of integer; a2:array[0..2] of integer ; begin setlength(aa,2);(2是数组个数) a1[1]:=4; a2[1]:=5; setLength(aa[0],length(a1)); aa[0,0]:= a1[0];//负地址 setlength(aa[1],length(a2)); aa[1,0]:= a2[0]; showmessage(inttostr(a1[1])+inttostr(a2[1])); end; 这样就负了值了,你试试
Incompatible Types:'array' and 'Dynamic array'这样的错误,请解释一下好吗?谢谢
var
aa : array of array of integer;
begin
setLength(aa[0],length(a1));
aa[0]:= a1;
setlentth(aa[1],length(a2));
aa[1]:= a2;
...
setlength(aa[i],length(ai));
aa[i]:= ai;
end;
aa : array of array of integer;
a1:array[0..4] of integer;
a2:array[0..2] of integer ;
begin
setlength(aa,2);(2是数组个数)
a1[1]:=4;
a2[1]:=5;
setLength(aa[0],length(a1));
aa[0,0]:= a1[0];//负地址
setlength(aa[1],length(a2));
aa[1,0]:= a2[0];
showmessage(inttostr(a1[1])+inttostr(a2[1]));
end;
这样就负了值了,你试试