fork download
  1. #include <typeinfo>
  2. #include <iostream>
  3.  
  4. int a;
  5. struct foo { } b;
  6.  
  7. template<typename T, T* val>
  8. struct get_type
  9. {
  10. typedef T type;
  11. };
  12.  
  13. int main()
  14. {
  15. std::cout << typeid(get_type<int, &a>::type).name() << "\n";
  16. std::cout << typeid(get_type<foo, &b>::type).name() << "\n";
  17. }
  18.  
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
i
3foo