Delphi中传递后续可选参数时如何跳过前面的可选参数
Delphi跳过前置可选参数的实现方法
Delphi不支持MetodoDeEjemplo(3, ,9)这种留空跳过位置参数的语法,要实现仅给后置可选参数传值的需求,使用命名参数语法即可,调用时明确指定要赋值的参数名称,未指定的可选参数会自动套用默认值。
正确调用示例
你给出的示例过程正确写法如下:
MetodoDeEjemplo(requerido := 3, enteroOpcional := 9);
该写法下cadenaOpcional参数会自动使用定义的默认值'cadena por defecto',不会触发编译错误。
相关注意事项
- 命名参数的顺序可以和过程定义的参数顺序完全无关,以下写法同样合法:
MetodoDeEjemplo(enteroOpcional := 9, requerido := 3); - 必选参数无论用位置传参还是命名传参都不能省略,否则会触发编译错误。
- 混用位置传参和命名传参时,所有位置传参必须放在最前面,不能在位置传参中间插入命名传参:
MetodoDeEjemplo(3, enteroOpcional :=9)是合法写法,MetodoDeEjemplo(enteroOpcional :=9, 3)是非法写法。
内容的提问来源于stack exchange,提问作者jmontegrosso
相关产品推荐
相关产品推荐

