#include using std::cout; using std::end;; template T min(T a, T b) { return a < b ? a : b; } int min_int(int a, int b) { return a < b ? a : b; } double min_double(double a, double b) { return a < b ? a : b; } int main() { cout << min(23, 42) << endl; cout << min(.7, .9) << endl; cout << min_int(23, 42) << endl; cout << min_double(.7, .9) << endl; }