如何传递二维或三维数组?(100分)

  • 主题发起人 主题发起人 shamohu
  • 开始时间 开始时间
S

shamohu

Unregistered / Unconfirmed
GUEST, unregistred user!
对一维数组,这样写没问题
procedure MyTry(temD: array of double);
begin
end;

二维数组:
procedure MyTry(temD: array of array double);
begin
end;
却编译不过,何处有误?请指教!
 
使用类型传递
比如
TPackage = array of array of double;

procedure MyTry(temD: TPackage);
begin
end;
 
二楼正确
 
type
TTable = array[1..20, 1..20] of Double;

Procedure MyProc(const AArray:TTable;const iCol,iRow:integer);
var
Col, Row: Integer;
ThisArray: TTable;
begin
for Col := 1 to iCol do
for Row:= 1 to iRow do
ThisArray[Col, Row] := AArray[Col, Row];
end;
或者:
arrMyType: array[0..10, 0..10] of Integer;

var
a: arrMyType;

procedure myProcedure(aArray: arrMyType);
begin
...
end;

调用时,myProcedure(a);

或者:
MyArrayTypeOne: array[0..10] of Integer;
MyArrayTypeTwo: array[0..10] of MyArrayTypeOne;

var a: MyArrayTypeTwo;
 
2.3楼都正确 [:D]
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部