参数传递,及申明的问题???(10分)

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

sunnysheng

Unregistered / Unconfirmed
GUEST, unregistred user!
变量申明如下:
var
ReturnDataInfo:array of array [0..5] of String;
//////////////////////////
函数申明如下:
function a(ReturnDataInfo:array of array [0..5] of String):Integer;
为何报错。
请问:
ReturnDataInfo这个动态数组变量如何放到函数中作为参数传递。
 
首先,你要理解,数组也是一种数据类型,只是是一种自定义。
首先,定义一个二维数据类型
//一维的
Tryp
AryOfInt = array of integer

//二维的
Type
DoublAryInt=array of AryOfInt


那么,你的过程就可以写成
procedure Pro_Arr_clear(arr_tmp:DoublAryInt);
 
这样就行了
type
TReturnDataInfo=array of array [0..5] of String;
var
ReturnDataInfo:TReturnDataInfo;
function a(ReturnInfo:TReturnDataInfo):Integer;

报错是类型不兼容.因为DELPHI无法确定函数的形参和实参是否一致,所以要先type
 
可以把一个数组的指针,也就是数组名作为参数传递。。[:D]
 
好奇怪 我的没有出错 把报错内容粘贴出来吧
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;
TReturnDataInfo=array of array [0..5] of String;

var
ReturnDataInfo:TReturnDataInfo;
Form1: TForm1;

implementation

{$R *.dfm}

procedure f_1(var ReturnDataInfo:TReturnDataInfo);
begin

end;

end.
 
鉴定结果:Avalon的代码没错!
 
Avalon的代码当然没错

楼主的错了,其实也不能叫错了,楼主应该把那个2维数组声明为一个类型,然后参数类型也为该类型而不能是数组

传递的参数为该类型的一个实例
 
原来是那个Type的错啊 学习学习[:D]
 
帮顶!

http://www.source520.com

站长开发推广同盟 站长朋友的终极驿站
同时拥有海量源码电子经典书籍下载

http://www.source520.com/search/search.asp

"编程.站长"论坛搜索引擎-----为中国站长注入动力!
 
帮顶!

╭=========================================╮

80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯
 

Similar threads

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