动态数组定义赋值编译不通过,但改变却可以便宜通过,请问问题存在哪里,为什么
var
a : array of integer;
b : array of integer;
c : array of integer;
begin setlength(a,1);
b := a; //编译出错在这里end;但换成另一种方法var
a,b,c : array of integer;
begin setlength(a,1);
b := a; //编译通过end;
请问上面通不过是为什么
var
a : array of integer;
b : array of integer;
c : array of integer;
begin setlength(a,1);
b := a; //编译出错在这里end;但换成另一种方法var
a,b,c : array of integer;
begin setlength(a,1);
b := a; //编译通过end;
请问上面通不过是为什么
象如下代码:
var
a : array of integer;
b : array of integer;
c : array of integer;
Delphi认为a,b,c不是一个类型。
而
var
a,b,c:array of integer; 又是同一个类型,也就是可以a:=b, c:=b;
静态数组了也是一样的
var
a : array[1..2] of integer;
b : array[1..2] of integer;
不同var
a,b : array[1..2] of integer; //a,b同类型
ArrayOfInteger = array of integer;var
a : ArrayOfInteger;
b : ArrayOfInteger;
c : ArrayOfInteger;
begin
setlength(a,1);
b := a;
end;