如何使用二维动态数组作为函数参数?
问题描述:
嗨 我有一个问题,当我使用二维动态数组。我使用这个: 程序ListDeleted(FilesList:整数数组的数组); 德尔福给我编译错误 我该如何解决它?如何使用二维动态数组作为函数参数?
答
声明数组头型,然后在参数列表
type
T2DIntArr = array of array of Integer;
...
ListDeleted(FilesList: T2DIntArr);
+0
比你的工作 – micheal 2010-11-22 07:02:11
+5
@micheal,如果这是有效的答案你,你应该选择它作为接受的答案(通过点击旁边的勾号)。 – vcldeveloper 2010-11-22 12:10:34
答
使用它定义自定义类型:
type
TIntArray2 = array of array of Integer;
如果你只是读ListDeleted参数内容,使用
procedure ListDeleted(const FilesList: TIntArray2)
如果参数即将被修改,请使用
procedure ListDeleted(var FilesList: TIntArray2)
如果参数是在内部修改,但修改不应该被传播到主叫方,使用
procedure ListDeleted(FilesList: TIntArray2)
但要注意的是,最后的声明(没有常量也不VAR)将使在调用ListDeleted之前调用数组的临时副本,这对性能不是好主意。
如果你找到了一个适合你的答案,你应该选择它作为接受的答案(通过点击它旁边的勾号) – mjn 2010-11-23 11:23:13