1
|
Fabrizio RAHUL S R · 技术社区 · 4 年前 |
![]() |
1
4
开放数组实际上实现为两个参数,第一个是指向第一个元素的指针,第二个是最高索引。 知道了这一点,就很清楚为什么这样的东西不能被捕获,因为捕获的价值可能会超过最初的生命周期。 是的,您可以捕获由于被捕获而可能超过其生命周期的其他东西,但在这些情况下,这是因为您明确地销毁了一个对象,或者释放了一些内存,但不是因为它是如何传递给某个例程的。捕获始终确保该值至少在闭包有效的时间内保持有效。 闭包中捕获的值在内部实现为编译器创建的闭包支持对象中的字段,因此基本上有一个从捕获的值到这些字段的赋值(简单地说)。开放数组参数不能分配给局部变量或类似变量,只能像数组一样访问,或进一步传递。 |
![]() |
2
2
你的匿名类型声明是错误的。您应该向接受此参数类型的过程声明此类型。比如我的例子
单位1。考绩制度:
单位1。dfm:
|
![]() |
Marcoscdoni · 突出显示DBGrid中的特定文本 8 年前 |
![]() |
Adam · 如何在delphi项目中执行两个线程 9 年前 |
![]() |
Nobby · 将更改的位图分配给VCL样式时发生访问冲突 9 年前 |
![]() |
Jens Mühlenhoff · 如何从列表中删除所有重复项? 9 年前 |
|
Jan de Jonge · 帮助洞察的新路线 9 年前 |