Compartilhar via


Erro do Compilador C2752

"template": há mais de uma especialização parcial correspondendo à lista de argumentos do modelo

Uma instanciação foi ambígua.

A amostra a seguir gera o erro 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;
}