#include <iostream> using namespace std; //2つの引数の最大値を求める int maxvalue(int a, int b) { if (a > b) return a; else return b; } double maxvalue(double a, double b) { if (a > b) return a; else return b; } float maxvalue(float a, float b) { if (a > b) return a; else return b; } template <typename T> T maxvalue(T a, T b) { if (a > b) return a; else return b; } int main() { int x = 10, y = 30, z; double x1 = 15.1, y1 = 10.1, z1; z = maxvalue<int>(x, y); z1 = maxvalue<double>(x1, y1); cout << z << endl; cout << z1 << endl; return 0; }