Template Specialization for T -> std::vector

后端 未结 4 871
情歌与酒
情歌与酒 2021-01-12 15:54

I have a template class method

template
T pop();

Now I want to do a template specialization as follows,



        
4条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-01-12 16:03

    A possible solution is a non-member function implemented like this

    template 
    struct classname_pop
    {
        static T pop(classname &obj) { return obj.pop() ;}
    }
    
    template 
    struct classname_pop>
    {
       static std::vector pop(classname &obj) {obj.specialized_pop() ;}
    }
    
    template 
    T classname_pop(classname &obj)
    {
       return classname_pop_t::pop() ;
    }
    

提交回复
热议问题