オーバーロード関数のインライン化

各関数はinlineを使用して宣言。

#include < iostream >
using namespace std;

inline int min(int a, int b)
{
    return a < b ? a: b;
}

inline long min(long a, long b)
{
    return a < b ? a : b;
}

inline double min(double a, double b)
{
    return a < b ? a : b;
}

int main()
{
    cout << min(-10, 10) << "\n";
    cout << min(-10.01, 100.002) << "\n";
    cout << min(-10L, 12L) << "\n";
    
    return 0;
}