Как я могу определить массив для приема упорядоченных пар в структуре? - PullRequest
0 голосов
/ 25 августа 2018

Фонд импорта

struct locus { var x: Int var y: Int }

пусть аэродром: [locus] = [(1,1), (2,2)]

выдает ошибку «Невозможно преобразовать значение типа« (Int, Int) »в ожидаемый тип элемента« locus ». Мне нравится, что компилятор принимает« locus »как тип - я ненавижу, что он не принимает Ints I попробуйте и введите. Помощь оценена.

1 Ответ

0 голосов
/ 25 августа 2018

Ваш литерал [(1,1), (2,2)] является массивом кортежей .Попробуйте:

let aerodrome = [(1,1), (2,2)]

на игровой площадке и щелкните опцию aerodrome, и вы получите:

let aerodrome: [(Int, Int)]

Если вам нужен массив locus, вам нужно создать экземплярыиз них.Один из способов сделать это - использовать автоматический конструктор по умолчанию, который требует именованных аргументов:

let aerodrome = [locus(x: 1,y: 1), locus(x: 2,y: 2)]

Если вы не хотите использовать метки, напишите свой собственный init.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...