Compartilhar via


C2061 de erro do compilador

Erro de sintaxe: identificador 'identificador'

O compilador encontrado um identificador onde ele não era esperado.Certifique-se de que identifier é declarado antes de usá-lo.

Um inicializador pode ser delimitada por parênteses.Para evitar esse problema, coloque o Declarador entre parênteses ou torná-lo um typedef.

Este erro pode ser causado também quando o compilador detecta uma expressão como um argumento de modelo de classe; Use typename para informar ao compilador é um tipo.

O exemplo a seguir gera C2061:

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

C2061 pode ocorrer se você passar um nome de instância para typeid (Extensões de Componentes C++):

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