gpt4 book ai didi

delphi - 为什么在Delphi中调用函数时不用逗号分隔参数?

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

我在 Delphi 5 中创建了一些函数,并且意外地尝试在不使用逗号分隔参数列表的情况下进行编译,奇怪的是它完全正常工作。

我尝试按如下方式隔离问题:

program Project1;
{$APPTYPE CONSOLE}

procedure foo(i : integer; s : string; di : integer = -1);
begin
WriteLn(s);
end;

var
str: string;
int: integer;
begin
str := 'aaa';
int := 1000;
foo(int str int);
ReadLn;
end.

它编译了,没有抛出异常,并且参数完全按照预期达到了功能。

我注意到,如果我最后删除默认参数,它就会开始抛出编译错误实际参数不足

为什么 Delphi 有这种行为?这是某种编译器错误还是奇怪的机制?

最佳答案

这似乎是一个编译器错误,至少从 D2010 甚至更早的时间起就已修复。截至撰写本文时,Delphi 5 已有 20 年历史,默认参数仅在 D4 中引入,因此有理由认为,一些早期问题已得到纠正。

关于delphi - 为什么在Delphi中调用函数时不用逗号分隔参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54947339/

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