函数用到了数组参数,可对具体变量赋值的时候却提示类型不一致:
procedure setarystr(arystr:array of string);
begin
arystr[1,1]='';
end;
这么简单竟然编译不过去.
如果改成:
procedure setarystr(arystr:array of string);
begin
arystr[1,1]=' ';;//加了个空格
end;
或
var
arystr:array[1..2,1..10] of string;procedure setarystr();
begin
arystr[1,1]='';
end;
都没有错误.帮忙!谢谢 !
procedure setarystr(arystr:array of string);
begin
arystr[1,1]='';
end;
这么简单竟然编译不过去.
如果改成:
procedure setarystr(arystr:array of string);
begin
arystr[1,1]=' ';;//加了个空格
end;
或
var
arystr:array[1..2,1..10] of string;procedure setarystr();
begin
arystr[1,1]='';
end;
都没有错误.帮忙!谢谢 !
begin
arystr[1,1]='';//错误
end;
arystr[1]是字符串类型,
arystr[1,1]就是字符类型。你把''赋值到字符类型当然出错,就和
var c:char;
c:=''是错误的一样。var
arystr:array[1..2,1..10] of string;
procedure setarystr();
begin
arystr[1,1]='';
end;
这时候arystr[1,1]是字符串类型。
但arystr[1,1,1]又是字符类型了。
搞了两天了,搞的我都晕了.
var
asstr:array[1..2,1..3] of string;
或者
var
asstr:array[1..2] of array[1..3] of string;
type
TDoubleArray = array of array of string;var
asstr:TDoubleArray;procedure setarystr(arystr:TDoubleArray);setarystr(assstr);