不能援引 ' - ' 用型(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 

让我说,错误信息是有点误导,完全无用:)

+0

是啊。当然。可以这么说,那个奇怪的错误消息让我感到恐慌。 – rohdester 2014-09-22 19:18:48

+0

我了解到,如果编译器消息没有任何意义,那么它就是别的东西,通常是一件简单的事情 – Antonio 2014-09-22 19:20:25