Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
'var': een by-value capture kan niet worden gewijzigd in een niet-veranderlijke lambda
Opmerkingen
Een niet-veranderlijke lambda-expressie kan de waarde van een variabele die wordt vastgelegd op waarde niet wijzigen.
Deze fout corrigeren
Declareer uw lambda-expressie met het
mutabletrefwoord ofGeef de variabele door per referentie aan de opnamelijst van de lambda-expressie.
Example
In het volgende voorbeeld wordt C3491 gegenereerd omdat de hoofdtekst van een niet-veranderlijke lambda-expressie de capture-variabele mwijzigt:
// C3491a.cpp
int main()
{
int m = 55;
[m](int n) { m = n; }(99); // C3491
}
In het volgende voorbeeld wordt C3491 omgezet door de lambda-expressie met het mutable trefwoord te declareren:
// C3491b.cpp
int main()
{
int m = 55;
[m](int n) mutable { m = n; }(99);
}