Ошибка несоответствия типов при попытке объявить новый вектор - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь создать новый вектор типа класса Vec2 (x: Double, y: Double), программа не может найти x и y и возвращает ошибку несоответствия.

При попытке объявить x иy отдельно я встречаюсь с ошибкой "Выражение типа (Double, Double) не соответствует ожидаемому типу Vec2.

Vec2(x:Double, y:Double)
val sum:Vec2 = (x:Double , y:Double)

Желает использовать вектор суммы в программе, но не можетобъявить это.

1 Ответ

1 голос
/ 27 апреля 2019

Здесь есть несколько ошибок:

val sum:Vec2 = (x:Double , y:Double)

Во-первых, вам не нужно указывать типы значений здесь, поэтому это может быть

val sum: Vec2 = (x, y)

Во-вторых, значение (x, y) является кортежем, и нет автоматического механизма для создания классов из кортежей. Так что вам нужно указать класс явно:

val sum:Vec2 = Vec2(x, y)

Наконец, тип sum очевиден из этого утверждения, поэтому его можно опустить:

val sum = Vec2(x, y)
...