Quote Originally Posted by swgh View Post
Function overloading can be used when the same function is needed with the same name but with different return types or parameter types.
When this need occurs is up to the programmer - and can generally be avoided by defining a separate function which achieves the same result as the original function.

Function is not however the same as operating overloading - which is a different beast entirely.
Not quite, at least not in C based languages. You can't overload by return type, only by function signatures which does not include the return type.
It can be simulated sort of in both C and C++. It probably can in C# too. The question is why would you want to. That's probably indicative of a design fault.
Can you think of a groovy way to do this?
Code:
ReturnType FuncThatCanReturnIntDoubleOrString(void);
There's at least one way in C and 3 ways in C++ this can be accomplished. Can't say for C#. I'm a novice in .net world, never used it.