Что не так с кодом:
func realPriceForRequestedPrice(price: Int64, fee: Int32) -> Int64 {
return Int64(100 * price * (1.0 - fee / 1000.0))
}
Компилятор говорит:
Компилятор не может проверить тип этого выражения в разумные сроки; попробуйте разбить выражение на отдельные подвыражения
Почему?
EDIT:
Это компилируется, поэтому я понимаю, что компилятору требуется явное приведение to Double:
func realPriceForRequestedPrice(price: Int64, fee: Int32) -> Int64 {
return Int64(100.0 * Double(price) * (1.0 - Double(fee) / 1000.0))
}
Но я до сих пор не понимаю, почему там написано «Невозможно проверить ...» вместо «Невозможно умножить Double на Int64» или что-то подобное ...