gpt4 book ai didi

function - 没有参数类型的过程声明的行为是什么?

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

在尝试一些代码时,我发现如果我们向没有类型的函数或过程提供参数,它不会给我们带来编译时错误。

为什么会发生这种情况,请给出一些解释,因为我在任何地方都找不到这样的代码?

程序声明:

Procedure TestProc(var objTest);

如果我们删除关键字var,则编译时错误将显示为Type required

谁能解释一下吗?

最佳答案

Untyped parameters通常在参数的实际类型不相关时使用。一个例子是标准的“FillChar”过程,它用指定的字节值填充变量(任何变量)。使用无类型参数,而不是需要多个(实际上是无限多个)重载过程来用值填充任意变量。

无类型参数(与任何其他参数一样)可以通过使用 CONST 前缀“输入”(数据进入过程/函数),“输出”(数据从过程中传出)/function) 使用 OUT 前缀,或使用 VAR 前缀两者(数据发送到过程中、修改并发送回)。

正如您可能注意到的,FillChar 过程使用 VAR 前缀,尽管 OUT 会更正确。然而,FillChar 过程是在语言中不存在 OUT 前缀(仅存在 CONSTVAR )时“创建”的,而在这两者中,VAR 是唯一允许数据从过程中返回的一个,因此使用了 VAR)。

关于function - 没有参数类型的过程声明的行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673798/

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