c++ - Who partial specialization may inherit from a class template -


i trying make partial specialize class may inherit class template, compile gives error. code , error given below.

template<class t> class a{};  template<class t> class b<t*>:a<t>{};   main(){    a<int> obj1;    b<int*> obj2;  } 

error:

error: 'b' not template error: expected class-name before '{' token 

when replace b class code code

class b:public a<t>{}; 

it works.

in order partially specialize template, must have created primary template. if want define b<t*> must first define b.

that is, following error:

template<class t> class a{};  template<class t> class b<t*>:a<t>{}; 

this valid:

template<class t> class a{};  // primary template template<class t> class b{};  // partially specialized pointers template<class u> class b<u*>:a<u>{}; 

Comments

Popular posts from this blog

tcpdump - How to check if server received packet (acknowledged) -