Compartir a través de


Error del compilador C2752

'plantilla': hay más de una coincidencia de especialización parcial en la lista de argumentos de plantilla

La creación de una instancia era ambigua.

El ejemplo siguiente genera el error C2752:

// C2752.cpp
template<class T, class U>
struct A {};

template<class T, class U>
struct A<T*, U> {};

template<class T, class U>
struct A<T,U*> {};

// try the following line instead
// template<class T, class U> struct A<T*,U*> {};

int main() {
   A<char*,int*> a;   // C2752 an instantiation

   // OK
   A<char*,int> a1;
   A<char,int*> a2;
   A<char,int> a3;
}