Поделиться через


Ошибка компилятора C2061

синтаксическая ошибка: идентификатор "идентификатор"

Компилятор находит идентификатор там, где он не ожидался. Убедитесь, что identifier объявлен перед использованием.

Инициализатор может быть заключен в круглые скобки. Чтобы избежать этой проблемы, заключите декларатор в круглые скобки или сделайте его typedef.

Эта ошибка может также быть вызвана, когда компилятор определяет выражение как аргумент шаблона класса; используйте имя типа для того, чтобы сообщить компилятору его тип.

Следующий пример приводит к возникновению ошибки C2061:

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

C2061 может возникать, если 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
}