The return type is not consider in function overloading since it can result in ambiguity of which function to call. For example:
int foo(); double foo(); int x = foo(); // Which one should be called?