我定义了一个过程,参数是一个二维数组,长度动态或静态设置都可以,我定义过程的时候这样写:procedure matrix(var a:array of array of integer),但执行出错,提示为identifier expected but'ARRAY'found。请问这是怎么回事?
我不清楚delphi中function 或procedure的参数是二维数组时,参数的格式应是怎么样的?

解决方案 »

  1.   

    type
      TMyArray = array of array of Integer;
    {$R *.dfm}
    procedure matrix(var a:TMyArray);
    beginend;
      

  2.   


    谢谢楼上!编译出现的原先错误已解决,但又有了新的错误:我按上文定义了type TMyArray,然后我在另一个过程中调用matrix:
    procedure TAlgorithm.BMultiplyClick(Sender: TObject);
    var    
    a:TMyArray;
    begin
    setlength(a,25);
    setlength(a[1],25);
    matrix(a);
    end;错误为Unsatisfied forward or external declaration:'TAlgorithm.matrix'错误指向private中的procedure matrix(var a:TMyArray);删掉setlength(a,25);setlength(a[1],25);也不可以。
      

  3.   

    你的procedure matrix(var a:TMyArray);定义在哪里如果定义在类里面要加类标识,  并且将
    type
      TMyArray = array of array of Integer;
    声明在Interface中procedure TForm1.matrix(var a:TMyArray);
    beginend;
      

  4.   

    procedure TForm1.matrix(var a:TMyArray);
    我忘记定义在类函数里了,多谢~~问题基本解决!