Ошибка компилятора C3495
var : передаваемый параметр лямбда-выражения должен иметь длительность автоматического хранения
Вы не можете передавать переменную, которая не поддерживает автоматическую длительность хранения, например переменную, помеченную как static
или extern
.
Исправление ошибки
- Не передавайте переменную по
static
илиextern
в список передаваемых параметров лямбда-выражения.
Пример
В следующем примере возникает ошибка C3495, так как в списке передаваемых параметров лямбда-выражения присутствует переменная static
n
.
// C3495.cpp
int main()
{
static int n = 66;
[&n]() { return n; }(); // C3495
}