gpt4 book ai didi

arrays - 如何将可变长度数组常量作为参数传递?

转载 作者:行者123 更新时间:2023-12-03 15:57:37 26 4
gpt4 key购买 nike

我有许多二维数组常量,其长度为一维变量,如下所示:

const
ThiamineRDA: array[0..2, 0..3] of Double =
((0, 0, 0.05, 0.2), (0, 0.06, 0.11, 0.3), (0, 1, 3, 0.5));
RiboflavinRDA: array[0..1, 0..3] of Double =
((0, 0, 0.05, 0.2), (0, 0.06, 0.11, 0.3));

我想将此常量作为参数传递给过程:

  LoadIntakes(Item, ThiamineRDA);

但是我如何定义该过程以允许该参数?

procedure LoadIntakes(Item:PNutrientInfo; IntakesList: array of... ???? );
begin
//.....
end;

最佳答案

您无法传递在二维中开放的开放数组。但如果其中一个维度的大小是固定的,您可以这样做,如下所示:

(我省略了你的第一个参数,以便我可以检查它是否可以编译)

type
TQArray = array[0..3] of double;
const
ThiamineRDA: array[0..2] of TQArray =
((0, 0, 0.05, 0.2), (0, 0.06, 0.11, 0.3), (0, 1, 3, 0.5));
RiboflavinRDA: array[0..1] of TQArray =
((0, 0, 0.05, 0.2), (0, 0.06, 0.11, 0.3));

procedure LoadIntakes( IntakesList: array of TQArray );
begin
//.....
end;

procedure Test;
begin
LoadIntakes( ThiamineRDA );
end;

关于arrays - 如何将可变长度数组常量作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50837184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com