Sdílet prostřednictvím


Chyba kompilátoru C3493

'var' nelze implicitně zachytit, protože nebyl zadán žádný výchozí režim zachycení.

Poznámky

Prázdný výraz lambda zachycuje, určuje, []že výraz lambda explicitně ani implicitně nezachytává žádné proměnné.

Oprava této chyby

  • Zadejte výchozí režim zachycení nebo

  • Explicitně zachyťte jednu nebo více proměnných.

Example

Následující příklad generuje C3493, protože upravuje externí proměnnou, ale určuje prázdnou klauzuli capture:

// C3493a.cpp

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

Následující příklad vyřeší C3493 zadáním podle odkazu jako výchozí režim zachycení.

// C3493b.cpp

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

Viz také

Výrazy lambda