Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
'var': não é possível capturar uma variável que tenha um tipo gerenciado ou tipo WinRT
Observações
Não é possível capturar uma variável que tenha um tipo gerenciado ou um tipo do Tempo de Execução do Windows em um lambda.
Para corrigir este erro
- Passe a variável gerenciada ou do Tempo de Execução do Windows para a lista de parâmetros da expressão lambda.
Example
O exemplo a seguir gera C3498 porque uma variável que tem um tipo gerenciado aparece na lista de captura de uma expressão lambda:
// C3498a.cpp
// compile with: /clr
using namespace System;
int main()
{
String ^ s = "Hello";
[&s](String ^ r)
{ return String::Concat(s, r); } (", World!"); // C3498
}
O exemplo a seguir resolve C3498 passando a variável s gerenciada para a lista de parâmetros da expressão lambda:
// C3498b.cpp
// compile with: /clr
using namespace System;
int main()
{
String ^ s = "Hello";
[](String ^ s, String ^ r)
{ return String::Concat(s, r); } (s, ", World!");
}