Compartir a través de


Advertencia del compilador (nivel 1) C4667

"function": no hay ninguna plantilla de función definida que coincida con la creación de una instancia forzada

No se puede crear una instancia de una plantilla de función que no se haya declarado.

El ejemplo siguiente generará la advertencia C4667:

// C4667a.cpp
// compile with: /LD /W1
template
void max(const int &, const int &); // C4667 expected

Para evitar esta advertencia, declare primero la plantilla de función:

// C4667b.cpp
// compile with: /LD
// Declare the function template
template<typename T>
const T &max(const T &a, const T &b) {
   return (a > b) ? a : b;
}
// Then forcibly instantiate it with a desired type ... i.e. 'int'
//
template
const int &max(const int &, const int &);