次の方法で共有


コンパイラ エラー 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);
}