컴파일러 오류 C2764
'param': 부분 특수화 'specialization'에서 템플릿 매개 변수를 사용하지 않거나 추론할 수 없습니다.
템플릿 매개 변수는 부분 특수화에 사용되지 않습니다. 이렇게 하면 템플릿 매개 변수를 추론할 수 없으므로 부분 특수화를 사용할 수 없습니다.
예시
다음 샘플에서는 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);
}