不能援引 ' - ' 用型(CGFloat的,CGFloat的)
问题描述:
参数列表,我有这样的代码:不能援引 ' - ' 用型(CGFloat的,CGFloat的)
let startX = CGFloat(arc4random_uniform(maxX + (quarterX*2))) - quarterX
凡quarterX是CGFloat的。
这行代码给生成错误
不能援引“ - ”与类型的参数列表(CGFloat的,CGFloat的)
这似乎只是怪我。这里玩什么?
答
arc4random_uniform
需要UInt32
,但你通过CGFloat
(我认为maxX是相同的类型)。所以你要这个表达式转换:
maxX + quarterX * 2
到UInt32
:
let startX = CGFloat(arc4random_uniform(UInt32(maxX + quarterX * 2))) - quarterX
让我说,错误信息是有点误导,完全无用:)
是啊。当然。可以这么说,那个奇怪的错误消息让我感到恐慌。 – rohdester 2014-09-22 19:18:48
我了解到,如果编译器消息没有任何意义,那么它就是别的东西,通常是一件简单的事情 – Antonio 2014-09-22 19:20:25