fork download
  1. #include <iostream>
  2.  
  3. template <typename T>
  4. class SomeClass
  5. {
  6. };
  7.  
  8. template <typename T>
  9. void foo(T)
  10. {
  11. std::cout << "foo() Generic - Undesired function\n";
  12. }
  13.  
  14. template <typename T>
  15. void foo(SomeClass<T>*)
  16. {
  17. std::cout << "foo() SomeClass<T> - Desired function\n";
  18. }
  19.  
  20. int main()
  21. {
  22. SomeClass<char>* sc = new SomeClass<char>();
  23. foo(sc);
  24. return 0;
  25. }
  26.  
  27.  
Success #stdin #stdout 0.02s 2856KB
stdin
Standard input is empty
stdout
foo() SomeClass<T> - Desired function