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;
}