我最近在下面的Swift中编写了这段代码。我使用结构来获得一个点(这是原点),然后是矩形的大小。然后,Mid结构,计算矩形的中心点。出于某种原因,我的函数calc()不想返回它计算的值并且无处不在抛出错误:
无法转换类型'(Int,Int)'的返回表达式返回类型' Int"
有谁知道为什么我会收到这样的错误?
Swift代码:
struct Point{
var x:Int, y:Int;
}
struct Sise{
var height:Int, width:Int;
}
struct Mid{
var origin:Point, sise:Sise;
func calc() -> Int{
var x = origin.x + (sise.width/2)
var y = origin.y + (sise.height/2)
return (x,y)
}
}
var origin = Point(x: 0,y: 0)
var sise = Sise(height:100, width:100)
var result = Mid(origin:origin,sise:sise)
result.calc()
注意
英语不是我的第一语言,对于语法错误感到抱歉。
答案 0 :(得分:1)
在struct Mid中,使用返回类型声明函数是Int,但在该函数中,返回元组(x,y)。必须是:
struct Mid{
var origin:Point, sise:Sise;
func calc() -> (Int,Int) {
var x = origin.x + (sise.width/2)
var y = origin.y + (sise.height/2)
return (x,y)
}
}