Compartir a través de


Error del compilador C3190

"instantation" con los argumentos de plantilla proporcionados no es la creación de instancias explícita de ninguna función miembro de "type"

El compilador detectó un intento de crear una instancia de función explícita; sin embargo, los argumentos de tipo proporcionados no coinciden con ninguna de las funciones posibles.

El ejemplo siguiente genera el error C3190:

// C3190.cpp
// compile with: /LD
template<class T>
struct A {
   A(int x = 0) {
   }
   A(int x, int y) {
   }
};

template A<float>::A();   // C3190
// try the following line instead
// template A<int>::A(int);

struct Y {
   template<class T> void f(T);
};

template<class T> void Y::f(T) { }

template void Y::f(int,int);   // C3190

template<class OT> class X {
   template<class T> void f2(T,OT);
};

template<class OT> template<class T> void X<OT>::f2(T,OT) {}

template void X<float>::f2<int>(int,char);   // C3190
// try one of the following lines instead
// template void X<char>::f2(int, char);
// template void X<char>::f2<int>(int,char);
// template void X<char>::f2<>(int,char);