Перечитай мой ответ ещё раз. Там все есть

А, не заметил про граблю...

    Ошибка, исправим, не будет работать
;)

А что, нельзя там как-то к наибольшему типу привести?

Ответить