Sdílet prostřednictvím


Chyba kompilátoru C3480

'var': Proměnná zachycení lambda musí být z uzavřeného oboru funkce.

Poznámky

Proměnná zachycení lambda není z uzavřeného oboru funkce.

Oprava této chyby

  • Odeberte proměnnou ze seznamu zachycení výrazu lambda.

Example

Následující příklad vygeneruje C3480, protože proměnná global není z nadřazeného oboru funkce:

// C3480a.cpp

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

Následující příklad vyřeší C3480 odebráním proměnné global ze seznamu zachycení výrazu lambda:

// C3480b.cpp

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

Viz také

Výrazy lambda