Xcode报错:Ambiguous use of ‘cos’
Xcode报错:Ambiguous use of ‘cos’

Xcode报错:Ambiguous use of ‘cos’

问题描述

在练习Canvas时,下面的cos代码报错:

let secondEnd = CGPoint(
    x: center.x + cos(secondAngle.radians) * radius,
    y: center.y + sin(secondAngle.radians) * radius
)

问题原因为:cos 的问题通常与输入类型不匹配有关。在 Swift 中,cos 函数是标准库中的数学函数,只接受 Double 类型的参数。如果传入的参数不是明确的 Double 类型(例如 CGFloat),就会出现 “Ambiguous use of ‘cos’” 报错。

修复方法

确保传递给 cos 的角度值是 Double 类型。Angle.radians 的类型是 CGFloat,需要显式转换为 Double。

修改代码

将 secondAngle.radians 转换为 Double:

let secondEnd = CGPoint(
    x: center.x + cos(Double(secondAngle.radians)) * radius,
    y: center.y + sin(Double(secondAngle.radians)) * radius
)

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注