Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
'%$I': uma captura por valor não pode ser modificada em um lambda não mutável
Observações
Uma expressão lambda não mutável não pode modificar o valor de uma variável capturada por valor.
Para corrigir este erro
Declare sua expressão lambda com a palavra-chave
mutable, ouPasse a variável por referência à lista de captura da expressão lambda.
Example
O exemplo a seguir gera C3491 porque o corpo de uma expressão lambda não mutável modifica a variável de captura m:
// C3491a.cpp
int main()
{
int m = 55;
[m](int n) { m = n; }(99); // C3491
}
O exemplo a seguir resolve C3491 declarando a expressão lambda com a palavra-chave mutable:
// C3491b.cpp
int main()
{
int m = 55;
[m](int n) mutable { m = n; }(99);
}