Compartir a través de


Error del compilador C2902

'token': token inesperado que sigue al identificador 'template' esperado

El token que sigue a la palabra clave template no es un identificador.

Este error está obsoleto en Visual Studio 2022 y versiones posteriores.

El ejemplo siguiente genera la advertencia C2902:

// C2902.cpp
// compile with: /c
namespace N {
   template<class T> class X {};
   class Y {};
}
void g() {
   N::template + 1;   // C2902
}

void f() {
   N::template X<int> x1;   // OK
}

También se puede producir el error C2902 al usar genéricos:

// C2902b.cpp
// compile with: /clr /c
namespace N {
   generic<class T> ref class GC {};
}

void f() {
   N::generic + 1;   // C2902
   N::generic GC<int>^ x;
}