How is it that we can overload a function to accept different input parameters in a language like C++? In C we are not allowed to do this. How does the compiler represent different entities with the same identifier?
...
In the compiler construction, languages like C++ encode information into symbol names to contain information such as parameter types and return types.
...