Kompilatorfel C3492

"var": du kan inte fånga en medlem i en anonym fackförening

Anmärkningar

Du kan inte samla in en medlem i en icke namngiven union.

Så här åtgärdar du det här felet

  • Ge unionen ett namn och skicka den fullständiga unionsstrukturen till samlingslistan för lambda-uttrycket.

Example

I följande exempel genereras C3492 eftersom det samlar in en medlem i en anonym union:

// C3492a.cpp

int main()
{
   union
   {
      char ch;
      int x;
   };

   ch = 'y';
   [&x](char ch) { x = ch; }(ch); // C3492
}

Följande exempel löser C3492 genom att ge unionen ett namn och genom att skicka den fullständiga unionsstrukturen till insamlingslistan för lambda-uttrycket:

// C3492b.cpp

int main()
{
   union
   {
      char ch;
      int x;
   } u;

   u.ch = 'y';
   [&u](char ch) { u.x = ch; }(u.ch);
}

Se även

Lambda-uttryck