Delen via


Compilerfout C3498

'var': u kunt geen variabele vastleggen met een beheerd of WinRT type

Opmerkingen

U kunt geen variabele vastleggen met een beheerd type of een Windows Runtime-type in een lambda.

Deze fout corrigeren

  • Geef de beheerde of Windows Runtime-variabele door aan de parameterlijst van de lambda-expressie.

Example

In het volgende voorbeeld wordt C3498 gegenereerd omdat een variabele met een beheerd type wordt weergegeven in de capturelijst van een lambda-expressie:

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

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

In het volgende voorbeeld wordt C3498 omgezet door de beheerde variabele s door te geven aan de parameterlijst van de lambda-expressie:

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

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

Zie ook

Lambda-expressies