5
|
Fabrizio RAHUL S R · 技术社区 · 7 年前 |
![]() |
1
6
在将任何类型的数组传递给开放数组参数时,只要元素的类型相同,就不需要进行类型转换。您可以按原样传递数组,打开的数组将接受它。这就是开放数组的全部点。
但是,不能传递
简单的类型转换可以在传递动态数组或固定数组时修复此问题:
但是,您不能将打开的数组类型转换为任何其他数组类型。不同类型的数组具有不同的内存布局(将动态数组类型化为另一个动态数组,或将固定数组类型化为另一个固定数组,不会更改正在类型化的数组的内存布局)。 在开放数组的情况下,它实际上根本不是一个数组,它只是一个指向所传递数组的第一个元素的指针,数组长度还有第二个隐藏参数。换句话说,这种声明:
实际上是由编译器在幕后实现的,如下所示:
因此,您必须将打开的数组元素复制到另一个数组,然后将该数组传递给:
|
![]() |
Some1Else · 函数在Delphi中重新创建TForm 3 年前 |
![]() |
Agmcz · Delphi安卓库。so未安装(AAB) 3 年前 |
![]() |
nader · 如何使用delphi在web上提交表单 7 年前 |
![]() |
kwadratens · Delphi中的卡方分布函数代码 7 年前 |
|
user9672569 · 如何在完整的位图图像中绘制阴影效果? 7 年前 |
![]() |
mmmm · MSBuild(用于Delphi)Make-like功能 7 年前 |