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


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

"переменная" нельзя передать неявно, поскольку не задан режим передачи по умолчанию

Замечания

Предложение пустой передачи лямбда-выражения ( []) указывает на то, что лямбда-выражение не передает никаких переменных явно или неявно.

Исправление ошибки

  • Укажите режим передачи по умолчанию или

  • явно передайте одну или несколько переменных.

Example

В приведенном ниже примере возникает ошибка C3493, так как в нем изменяется внешняя переменная, но указывается предложение пустой передачи.

// C3493a.cpp

int main()
{
   int m = 55;
   [](int n) { m = n; }(99); // C3493
}

В приведенном ниже примере ошибка C3493 устраняется путем указания передачи по ссылке в качестве режима передачи по умолчанию.

// C3493b.cpp

int main()
{
   int m = 55;
   [&](int n) { m = n; }(99);
}

См. также

Лямбда-выражения