c++ template specialization for all subclasses

后端 未结 5 628
隐瞒了意图╮
隐瞒了意图╮ 2020-12-30 09:27

I need to create a template function like this:

template
void foo(T a)
{
   if (T is a subclass of class Bar)
      do this
   else
      d         


        
5条回答
  •  旧巷少年郎
    2020-12-30 10:22

    I know this question has been answered but nobody mentioned that std::enable_if can be used as a second template parameter like this:

    #include 
    
    class A {};
    class B: public A {};
    
    template::value, int>::type = 0>
    int foo(T t)
    {
        return 1;
    }
    

提交回复
热议问题