This doesn't work. It makes sense in my head but it doesn't compile. As usual I've probably done something stupid and am unable to see it. Any help is always appreciated.
Code:#include <iostream> using namespace std; // Prototypes // Templates template < class T > T min( T value1, T value2 ) { T min = value1; if( value1 > value2 ) { min = value2; return min; } else return min; } int main() { int number, number1, choose; char charac, charac1; double doub, doub1; cout << "Number = 1\nDouble = 2\nCharacter = 3"; cin >> choose; switch (choose) { case 1: cout << "Enter a number: "; cin >> number; cout << "\nEnter a number: "; cin >> number1; cout << "\n\nSmallest is: " << min( number, number1 ); break; case 2: cout << "Enter a double: "; cin >> doub; cout << "\nEnter a double: "; cin >> doub1; cout << "\n\nSmallest is: " << min( doub, doub1 ); break; case 3: cout << "Enter a char: "; cin >> charac; cout << "\nEnter a char: "; cin >> chrac1; cout << "\n\nSmallest is: " << min( charac, charac1 ); break; } system( "pause" ); return 0; }