Я недавно написал этот код в Swift ниже. Я использовал структуры для получения точки (которая является источником), а затем размер прямоугольника, тогда средняя структура, которая вычисляет центральную точку прямоугольника. По какой-то причине моя функция calc() не хочет возвращать значения, которые она вычисляет, и выдает ошибку из ниоткуда:Swift: невозможно преобразовать возвращаемое выражение типа '(Int, Int)' для возврата типа 'Int'
Невозможно преобразовать возвращаемое выражение типа '(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()
ПРИМЕЧАНИЕ
английский не является моим родным языком, и извините за грамматические ошибки.
'calc()' возвращает * кортеж * из двух целых чисел, поэтому он должен быть объявлен как 'func calc() -> (Int, Int)'. (На самом деле сообщение об ошибке довольно понятно.) –
Зачем возвращать '(Int, Int)', когда у вас уже есть 'Point' struct с 2' Int '? – Alexander