Megosztás a következőn keresztül:


C3493 fordítási hiba

A "var" nem rögzíthető implicit módon, mert nincs megadva alapértelmezett rögzítési mód

Megjegyzések

Az üres lambda kifejezésrögzítés azt határozza meg, []hogy a lambda kifejezés nem rögzít explicit vagy implicit módon változókat.

A hiba kijavítása

  • Alapértelmezett rögzítési mód megadása, vagy

  • Egy vagy több változó explicit rögzítése.

Example

Az alábbi példa azért hozza létre a C3493-at, mert módosít egy külső változót, de megadja az üres rögzítési záradékot:

// C3493a.cpp

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

Az alábbi példa úgy oldja fel a C3493-at, hogy az alapértelmezett rögzítési módként a by-reference értéket adja meg.

// C3493b.cpp

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

Lásd még

Lambda-kifejezések