Achyuta Aich
Achyuta Aich

Reputation: 581

Partial specialization in c++ template : template parameter not deducible

The below code works fine :

template<typename T, int n> 
class Fib {};

template<typename T,int n>
class Fib<T*,n> {}; 

But the below code shows error as:

Error : template parameters not deducible in partial specialization:

 template<typename T, int n> 
 class Fib {};

 template<typename T,int n>
 class Fib<T*,0> {};

Can you explain the reason for this behaviour ?

Upvotes: 5

Views: 2010

Answers (1)

kEst86
kEst86

Reputation: 68

I believe you are just missing the right syntax for the partial specialization:

template<typename T, int n> 
 class Fib {

 };

 template<typename T>
 class Fib<T*,0> {

 };

The first parameter on the template is type, while the second is just a constant value.

Upvotes: 4

Related Questions