fork download
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. template<int size, class T>
  6. T min2(const T (&a)[size])
  7. {
  8. cout << "min<T>" << endl;
  9. T m = a[0];
  10. for (int i = 0; i < size; i++)
  11. if(a[i] < m) m = a[i];
  12. return m;
  13. }
  14.  
  15. template<int size>
  16. char* min2(char* (&a)[size])
  17. {
  18. cout << "min<char*>" << endl;
  19. char* m = a[0];
  20. for (int i=0; i < size; i++)
  21. if (strcmp(a[i], m) < 0) m = a[i];
  22. return m;
  23. }
  24.  
  25. int main()
  26. {
  27. int ia[] = { 0, 1 };
  28. int imin = min2(ia);
  29. cout << "imin = " << imin << endl;
  30.  
  31. char* is[] = { "0", "1" };
  32. char* smin = min2(is);
  33. cout << "smin = " << smin << endl;
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
min<T>
imin = 0
min<char*>
smin = 0