Condividi tramite


Errore del compilatore C3498

'var': non è possibile acquisire una variabile con un tipo gestito o WinRT

Non è possibile acquisire una variabile con un tipo gestito o un tipo Windows Runtime in un'espressione lambda.

Per correggere l'errore

  • Passare la variabile gestita o Windows Runtime all'elenco di parametri dell'espressione lambda.

Esempi

L'esempio seguente genera l'errore C3498 perché una variabile con un tipo gestito viene visualizzata nell'elenco di acquisizione di un'espressione lambda:

// C3498a.cpp
// compile with: /clr
using namespace System;

int main()
{
   String ^ s = "Hello";
   [&s](String ^ r)
      { return String::Concat(s, r); } (", World!"); // C3498
}

L'esempio seguente risolve l'errore C3498 passando la variabile gestita s all'elenco di parametri dell'espressione 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!");
}

Vedi anche

Espressioni lambda