//* Function overloading failures *

#include <iostream> using namespace std; double compute(double a, int b); double compute(int a, double b); //double compute(double a, double b); int main() { cout << compute(1, 1) << endl; // compiler cannot decide which one to use cout << compute(1.0, 1) << endl; cout << compute(1, 1.0) << endl; cout << compute(1.0, 1.0) << endl; // compiler cannot decide which one to use return(0); } double compute(double a, int b) { cout << "compute(double,int)" << endl; return(a*b); } double compute(int a, double b) { cout << "compute(int,double)" << endl; return(a*b); } //double compute(double a, double b) { // cout << "compute(int,double)" << endl; // return(a*b); //}