我有这个数组:
const / var
_Data : array [0..4] of array [0..3] of Double =
((0,0,0,0),
(0,0,1,1),
(1,0,1,0),
(1,1,0,0),
(1,1,1,1));
我想将它作为此过程的参数值传递:
procedure NN.NetTraining(Data: TDoubleMatrix);
哪里:
TDoubleArray = array of Double;
TDoubleMatrix = array of TDoubleArray;
在Delphi(2009)中是否有某种方式将此静态数组转换为动态数组?
提前致谢 .
4 回答
你不能投,但你可以复制!就像是...
虽然这并不完全符合您的要求(由于Gamecat的答案中给出的原因),但初始化动态数据阵列可能是一种可行的解决方法:
可能你应该使用open arrays代替?
动态数组与普通数组不同 .
动态数组是指针,而普通数组是内存块 . 使用一维数组,您可以使用数组的地址 . 但是对于多维数组,这个技巧将不起作用 .
在你的情况下,我会使用一个文件来初始化数组 . 因此,您可以100%使用动态数组 . 否则你必须编写自己的转换,这会破坏dymanic数组的目的 .