컴파일러 오류 C2764Compiler Error C2764

' param ': 템플릿 매개 변수를 사용 하지 않거나 부분 특수화 ' 특수화 '에서 추론할 수 없습니다.'param' : template parameter not used or deducible in partial specialization 'specialization'

템플릿 매개 변수는 부분 특수화에서 사용 되지 않습니다.A template parameter is not used in a partial specialization. 이렇게 하면 템플릿 매개 변수를 추론할 수 없으므로 부분 특수화를 사용할 수 없습니다.This makes the partial specialization unusable because the template parameter cannot be deduced.

예제Example

다음 샘플에서는 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);
}