in reply to over loading

Overloading can only happen in two cases. First is when an object of a class that implements overloading is used as argument to an overloaded operation. Second is when constants are overloaded.

Your example is just a matter of replacing an old value with a new one. The second declaration of min replaces the first. Warnings would have told you.