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