Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
"Var": Eine Erfassung nach Wert kann in einem nicht änderbaren Lambda nicht geändert werden.
Bemerkungen
Ein nicht änderbarer Lambda-Ausdruck kann den Wert einer Variablen nicht ändern, die nach Wert erfasst wird.
So beheben Sie diesen Fehler
Deklarieren Sie den Lambda-Ausdruck mit dem
mutable-Schlüsselwort, oderübergeben Sie die Variable per Verweis an die Erfassungsliste des Lambda-Ausdrucks.
Example
Im folgenden Beispiel wird C3491 generiert, da der Text eines nicht änderbaren Lambda-Ausdrucks die Erfassungsvariable mändert:
// C3491a.cpp
int main()
{
int m = 55;
[m](int n) { m = n; }(99); // C3491
}
Im folgenden Beispiel wird der Fehler C3491 durch Deklarieren des Lambda-Ausdrucks mit dem mutable -Schlüsselwort behoben:
// C3491b.cpp
int main()
{
int m = 55;
[m](int n) mutable { m = n; }(99);
}