【问题标题】:"Missing argument labels 'arg1:arg2:' in call" [duplicate]“调用中缺少参数标签'arg1:arg2:'” [重复]
【发布时间】:2018-03-11 19:28:09
【问题描述】:
var sum1 = 0 


func calculatorMath(arg1: Int, arg2: Int) -> Int {
        sum1 = arg1 + arg2
        return sum1
    }

calculatorMath(20,50)

//问题是“在调用中缺少参数标签'arg1:arg2:'”。我需要做什么?

【问题讨论】:

  • 你在使用 Xcode 吗?点击小红圈,然后点击“修复”...
  • @MartinR lmaooo

标签: swift function


【解决方案1】:

我同意 Martin R 的观点。如果您使用的是 Xcode,您应该得到一个自动修复错误。调用函数的正确方法是:

calculatorMath(arg1: 20,arg2: 50)

当参数标签出现错误时,请确保在调用函数时检查是否包含它们。

祝你好运!

阿纳夫

【讨论】:

    【解决方案2】:

    已经有人建议您可以通过将 call 更改为:

    来解决此问题
    calculatorMath(arg1: 20, arg2: 50)
    

    您也可以通过将声明更改为:

    func calculatorMath(_ arg1: Int, _ arg2: Int) -> Int {
    

    说明:在 Swift 中,每个参数可以有两个名称; caller 必须指定的可选外部名称,以及函数主体使用的本地名称(callee)。首先列出可选的外部名称。如果省略,则调用者必须使用本地名称,如果外部名称为_(下划线),则调用者不得使用任何名称。

    例如,您可以将函数声明为:

    func calculatorMath(_ arg1: Int, arg2: Int) -> Int {
    

    然后调用在第一个参数上不需要标签,第二个参数是:

    calculatorMath(20, arg2: 50)
    

    注意:这本 Swift 书籍往往在它所称的两个名称/标签上有所不同:

    函数参数标签和参数名称

    每个函数参数都有一个参数标签和一个参数名称。调用函数时使用参数标签;每个参数都写在函数调用中,前面有参数标签。参数名称用于函数的实现。默认情况下,参数使用参数名称作为参数标签。

    对比

    参数 → 外部参数名称opt 本地参数名称类型注释

    外部参数名称→标识符

    本地参数名称→标识符

    摘自:Apple Inc.“Swift 编程语言 (Swift 4.0.3)。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-25
      • 2018-06-14
      • 2011-08-28
      • 2016-04-16
      • 2020-12-27
      • 1970-01-01
      相关资源
      最近更新 更多