Partial specialization: use the primary template members
Consider enum My_Enum { x1, x2 }; template<class T, My_Enum X> class A { void f1(); void f2(); }; template<class T> class A<T,x1> { void g(); } I want to use the member functions f1() and f2() of the primary template in my partially specialized template. What should I do ? One solution would be not to do the partial specialization and then: template<class T> class AA<T> : public A<T,x1> { void g(); } but it has the drawback that when I'm instatiating A<T,X> s of all sorts by generic programming, my A<T,x1> are no longer of type AA<T> and hence I cannot apply A<T,x1>.g() Any idea ? How about