Sure a char can be promoted to a 32-bit int, but if the argument was a floating-point type and not a char, information would be lost.
But the idea is, how to determine which function is used ?