怎样用静态数组做函数参数呢?
请问怎样用静态数组做函数参数呢?源码如下:
声明:
type
TByteArray = array of byte;
function GetSum(aArray:TByteArray):integer;
调用:
procedure p1;
var
a:array[1..10] of byte;
b:array[1..20] of byte;
begin
GetSum(a); //error: Array and TByteArray
GetSum(b); //error
end;
问题点数:80、回复次数:4Top
1 楼24ge(24ge)回复于 2005-06-02 15:35:27 得分 0
请大家帮忙看看,多谢了Top
2 楼Microsnow(冰火)回复于 2005-06-02 17:09:20 得分 60
我修改了一下,下面的代码是可以执行的:
function TForm1.GetSum(const arr: array of Byte): Integer;
var
i: Integer;
begin
Result := 0;
for i := Low(arr) to High(arr) do
begin
Result := Result + arr[i];
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
arr: array[1..10] of Byte;
i: Integer;
sum: Integer;
begin
sum := 0;
for i := Low(arr) to High(arr) do
arr[i] := i;
sum := GetSum(arr);
Edit1.Text := IntToStr(sum);
end;Top
3 楼Microsnow(冰火)回复于 2005-06-02 17:16:50 得分 0
问题可能就出在
type
TByteArray = array of byte;
然后用TByteArray来定义变量Top
4 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-06-02 17:19:36 得分 20
function GetSum(aArray:array of byte):integer;这样就行了;Top




