请问怎样用静态数组做函数参数呢?源码如下:声明:
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;

解决方案 »

  1.   

    我修改了一下,下面的代码是可以执行的:
    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;
      

  2.   

    问题可能就出在
    type
      TByteArray = array of byte;
    然后用TByteArray来定义变量
      

  3.   

    function GetSum(aArray:array of byte):integer;这样就行了;