fork(1) download
  1. #include <iostream>
  2.  
  3. struct Outer
  4. {
  5. template<typename T>
  6. struct Inner
  7. {
  8. T value ;
  9. void print(std::ostream& os) { os << value ; }
  10. };
  11.  
  12. template <typename T>
  13. Outer(T a) { Inner<T> i{a} ; i.print(std::cout); }
  14. };
  15.  
  16. template<>
  17. struct Outer::Inner<double>
  18. {
  19. double value ;
  20. void print(std::ostream& os) { os << 6.66 ; }
  21. } ;
  22.  
  23. int main()
  24. {
  25. Outer o1(10) ;
  26. std::cout << '\n' ;
  27. Outer o2(0.0) ;
  28. std::cout << '\n' ;
  29. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
10
6.66