Beim Aufruf einer Funktion, die mit unterschiedlichen Typen aufgerufen wird, aber nur einen Type erwartet kann der Programmierer eine explizite Typumwandlung durchführen.
x = max(y, int(o)); // Explizite Typeumwandlung
Hier müssen sinnvolle Umwandlungen durchgeführt werden. Diese kennt der Programmierer meist nicht so gut (insbesondere nicht für Nichtstandardklassen, in denen Typumwandlungen extra definiert werden).