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


C3491 fordítási hiba

"var": a nem mutable lambdában nem módosítható a bájtérték-rögzítés

Megjegyzések

A nem mutable lambda kifejezés nem tudja módosítani az érték által rögzített változó értékét.

A hiba kijavítása

  • Deklarálja a lambda kifejezést a mutable kulcsszóval, vagy

  • Adja át a változót a lambda kifejezés rögzítési listájára hivatkozva.

Example

Az alábbi példa C3491-et hoz létre, mert egy nem mutable lambda kifejezés törzse módosítja a rögzítési változót m:

// C3491a.cpp

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

Az alábbi példa a C3491-et a lambda kifejezés kulcsszóval való deklarálásával mutable oldja fel:

// C3491b.cpp

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

Lásd még

Lambda-kifejezések