In C++ can you have overloaded functions with the same parameter types but different return types?
The idea of overloaded functions is this int foo (int x, int y); int foo (double x, double y);
But will this work? int foo (int x, int y); double foo (int x, int y);
if the second way works, how does the compiler know which function to choose?