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


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

"переменная": передаваемая переменная в лямбда-выражении должна быть из внешней области видимости функции

Передаваемая переменная в лямбда-выражении не относится к внешней области видимости функции.

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

  • Удалите переменную из списка передаваемых параметров в лямбда-выражении.

Примеры

Приведенный ниже пример вызывает ошибку C3480, так как переменная global не относится к внешней области видимости функции.

// C3480a.cpp

int global = 0;
int main()
{
   [&global] { global = 5; }(); // C3480
}

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

// C3480b.cpp

int global = 0;
int main()
{
   [] { global = 5; }();
}

См. также

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