class-template1.cpp 501 B

12345678910111213141516171819202122232425262728293031323334353637
  1. template<typename T>
  2. struct X0 {
  3. T getValue(T arg) { return arg; }
  4. };
  5. template<int I>
  6. struct X1;
  7. template<int I>
  8. struct X2;
  9. template<int I>
  10. struct X3;
  11. template<template<int I> class>
  12. struct X4;
  13. template<template<long> class>
  14. struct X5;
  15. template<typename>
  16. struct X6;
  17. extern X0<int> *x0i;
  18. extern X0<long> *x0l;
  19. extern X0<float> *x0r;
  20. template<>
  21. struct X0<char> {
  22. int member;
  23. char getValue(char ch) { return static_cast<char>(member); }
  24. };
  25. template<>
  26. struct X0<wchar_t> {
  27. int member;
  28. };