Функция перегрузки - красная сельдь;Перегрузка char foo(double)
будет определена на всех платформах.
Ключевое различие заключается в самом типе char
: стандарт допускает, чтобы он был подписанным или неподписанным.Какой из них выбран, определяется реализацией.
В системах с беззнаковым char
функция, таким образом, возвращает положительное число CHAR_MAX - 2
(как результат char(-3)
).