Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
var: du kan inte fånga en variabel som har en hanterad eller WinRT-typ
Anmärkningar
Du kan inte fånga en variabel som har en hanterad typ eller en Windows Runtime-typ i en lambda.
Så här åtgärdar du det här felet
- Skicka variabeln managed eller Windows Runtime till parameterlistan för lambda-uttrycket.
Example
I följande exempel genereras C3498 eftersom en variabel som har en hanterad typ visas i insamlingslistan för ett lambda-uttryck:
// C3498a.cpp
// compile with: /clr
using namespace System;
int main()
{
String ^ s = "Hello";
[&s](String ^ r)
{ return String::Concat(s, r); } (", World!"); // C3498
}
Följande exempel löser C3498 genom att skicka den hanterade variabeln s till parameterlistan för lambda-uttrycket:
// C3498b.cpp
// compile with: /clr
using namespace System;
int main()
{
String ^ s = "Hello";
[](String ^ s, String ^ r)
{ return String::Concat(s, r); } (s, ", World!");
}