fork download
  1. #include <type_traits>
  2.  
  3. class B {};
  4. class X : B {};
  5. class Y {};
  6.  
  7. template <typename T, typename std::enable_if<std::is_base_of<B, T>::value>::type* = nullptr>
  8. class A
  9. {
  10. A() = default;
  11. };
  12.  
  13. template class A<X>;
  14. // template class A<Y>; # will not compile
  15.  
  16. int main() {}
Success #stdin #stdout 0s 2892KB
stdin
Standard input is empty
stdout
Standard output is empty