【问题标题】:Swift 3 Compile error. Cannot convert type () to type intSwift 3 编译错误。无法将 type () 转换为 int 类型
【发布时间】:2016-09-28 03:41:18
【问题描述】:

我正在尝试学习 Swift 3,并且在从 2.3 到 3 的转换方面做得很好。但是,我在尝试运行时遇到了编译错误

var time = 0

func result() {
    time +=

    print(time)
}

我知道这在其他地方得到了回答,但没有关于我得到的确切错误:

Cannot convert value of type '()'to expected argument type 'Int'

我已经尝试了所有的技巧,比如把时间当作

print("\(time)")

但是,我似乎无法弄清楚发生了什么,而且我不明白错误要表达什么。

【问题讨论】:

  • time += 是什么?这不是有效的代码行。
  • 所以我在 time += 1 中省略了 1,因此它每一步都增加 1。 'Var' += 替换了 Swift 3 中的 'i++' ,这让我习惯了后者。这给我带来了一些问题。如果您已经知道这一点,我深表歉意。

标签: compiler-errors swift3


【解决方案1】:

根据您的代码,您告诉编译器后面有一个值 time += 导致通过编译时间错误,因为下一步是 void 类型而不是 Int 类型,这导致它通过 error 。

var time = 0

func result() {
    time += 1
    print(time)

}

你可以试试上面的代码。

【讨论】:

  • 谢谢,这成功了。这是我的一个问题,没有正确阅读,我相信 += 会自动增加 1,所以我放弃了实际增加的数量。
猜你喜欢
  • 1970-01-01
  • 2015-09-17
  • 2014-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多