Error del compilador C2061Compiler Error C2061

error de sintaxis: identificador ' Identifier 'syntax error : identifier 'identifier'

El compilador encontró un identificador en el que no se esperaba.The compiler found an identifier where it wasn't expected. Asegúrese de que identifier se declara antes de usarlo.Make sure that identifier is declared before you use it.

Un inicializador puede estar entre paréntesis.An initializer may be enclosed by parentheses. Para evitar este problema, incluya el declarador entre paréntesis o conviértalo en typedef .To avoid this problem, enclose the declarator in parentheses or make it a typedef.

Este error también puede producirse cuando el compilador detecta una expresión como un argumento de plantilla de clase; Use TypeName para indicar al compilador que es un tipo.This error could also be caused when the compiler detects an expression as a class template argument; use typename to tell the compiler it is a type.

En el ejemplo siguiente se genera C2061:The following sample generates C2061:

// C2061.cpp
// compile with: /c
template < A a >   // C2061
// try the following line instead
// template < typename b >
class c{};

C2061 puede producirse si se pasa un nombre de instancia a typeid:C2061 can occur if you pass an instance name to typeid:

// C2061b.cpp
// compile with: /clr
ref struct G {
   int i;
};

int main() {
   G ^ pG = gcnew G;
   System::Type ^ pType = typeid<pG>;   // C2061
   System::Type ^ pType2 = typeid<G>;   // OK
}