fork(1) download
  1. #include <iostream>
  2.  
  3. template <class out, class in>
  4. out* foo(in*);
  5.  
  6. template <>
  7. double* foo<double, size_t>(size_t* i)
  8. {
  9. return reinterpret_cast<double*>(i);
  10. }
  11.  
  12. int main() {
  13.  
  14. size_t i = 0;
  15.  
  16. std::cout << *foo<double>(&i) << std::endl; // OK
  17. // std::cout << *foo(&i) << std::endl; // template argument deduction/substitution failed: couldn't deduce template parameter ‘out’
  18. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
0