代码之家  ›  专栏  ›  技术社区  ›  Drakalex

简单计算中的模糊引用

  •  0
  • Drakalex  · 技术社区  · 8 年前

    我正在使用Xcode和Swift 3。

    我有以下几行:

    let x = playableRect.minX + (hexagon.size.width / 2) + (i % 4) * hexagon.size.width
    

    返回错误 Ambiguous reference to member '/'

    我真的不知道为什么失败,什么时候

    let x = playableRect.minX + (hexagon.size.width * 2) + (i % 4) * hexagon.size.width
    

    工作,以及

    let x = playableRect.minX + (hexagon.size.width / 2) + i * hexagon.size.width
    

    / %

    1 回复  |  直到 8 年前
        1
  •  1
  •   Craig Siemens    8 年前

    自从 i Int CGFloat CGFloat .

    let x = playableRect.minX + (hexagon.size.width / 2) + CGFloat(i % 4) * hexagon.size.width
    

    另一方面,您收到的错误消息很奇怪。你的代码中一定有其他的东西,导致它给你一个无用的错误信息。我把同样的代码放在一个操场上,得到了下面的错误,这更有用。

    error: binary operator '*' cannot be applied to operands of type 'Int' and 'CGFloat'
    x + (w / 2) + (i % 4) * w
                  ~~~~~~~ ^ ~