函数的返回类型问题(10分)

  • 主题发起人 主题发起人 yuren5340468
  • 开始时间 开始时间
Y

yuren5340468

Unregistered / Unconfirmed
GUEST, unregistred user!
我想申明一个返回数组的函数
请问如何申明
我这样申明是错的
function disjob():pointer;
 
返回数组你就直接定义个数组不就玩了吗,不明白在搞什么
 
你这样可以,也可以用过程传入一个数组变量
procedure disjob(var arr:array[0..9] of char);
 
这样申明一个函数是不错的。

问题是:
一、局部数组在作用域完了就释放了,你返回什么啊?返回的地址已经释放了,访问当然是要出错的,如果是全局数组还要这样返回个地址吗?
二、如果是定义在类中的数组,在对象的生存期,都是可以访问的,到是可以通过这个方式提供访问,不过通过函数返回数组地址的方式,动态数组和固定数组不一样,具体可参见下帖:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2607443

lmxeq5的方法也是总方法,就是把数组地址传入过程。
 
Type
TIntArray = array of Array ;
TCompute = class
protected
FNumArr : TIntArray
//
public
Function GetNumArr : TIntArray
//
end ;

Function TCompute.GetNumArr : TintArray ;
begin
Result := FNumArr ;
end ;
 
请问搂主:数组的厂都是固定的吗,如果固定,还有更好的方法
 
to:zurich
问题已解决,但我不大明白
TIntArray = array of Array ;
是什么意思
 
后退
顶部