Error del compilador C2764Compiler Error C2764

' param ': el parámetro de plantilla no se ha usado o no se ha deducido en la especialización parcial ' especialización ''param' : template parameter not used or deducible in partial specialization 'specialization'

Un parámetro de plantilla no se utiliza en una especialización parcial.A template parameter is not used in a partial specialization. Esto hace que la especialización parcial quede inutilizable porque no se puede deducir el parámetro de plantilla.This makes the partial specialization unusable because the template parameter cannot be deduced.

EjemploExample

En el ejemplo siguiente se genera C2764:The following sample generates C2764:

// C2764.cpp
#include <stdio.h>
template <class T1, class T2>
struct S  {
   int m_i;
};

template <class T1, class T2>
struct S<int, T2*> {   // C2764
// try the following line instead
// struct S<T1(*)(T2), T2*> {
   char m_c;
};

int main() {
   S<int, char> s1;
   S<void (*)(short), short *> s2;
   s2.m_c = 10;
   s1.m_i = s2.m_c;
   printf_s("%d\n", s1.m_i);
}