Swift:无法转换类型'(Int,Int)'的返回表达式返回类型' Int"

时间:2016-06-22 21:57:19

标签: swift

我最近在下面的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()

注意

英语不是我的第一语言,对于语法错误感到抱歉。

1 个答案:

答案 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)
    }
}