Errore del compilatore C2764
'param': parametro di modello non usato o deducibile nella specializzazione parziale 'specializzazioni'
Un parametro di modello non viene usato in una specializzazione parziale. Ciò rende inutilizzabile la specializzazione parziale perché il parametro del modello non può essere dedotto.
Esempio
L'esempio seguente genera l'errore 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);
}