Introducing Radical.sh

Forget Code launches a powerful code generator for building API's

Overloading Ambiguity in C++

#include <iostream>
using std::cout;
using std::endl;

double larger(double a, double b);             
long larger(long a, long b);                

int main() {
  int a_int = 15, b_int = 25;
  cout << larger(static_cast<long>(a_int), static_cast<long>(b_int))
       << endl;

return 0;
}

double larger(double a, double b) {
  cout << "double larger() called" << endl;
  return a>b ? a : b;
}

long larger(long a, long b) {
  cout << "long larger() called" << endl;
  return a>b ? a : b;
}