Sdílet prostřednictvím


Chyba kompilátoru C3492

'var': Nelze zachytit člena anonymní sjednocení

Poznámky

Nelze zachytit člena nepojmenované sjednocení.

Oprava této chyby

  • Pojmenujte sjednocování a předejte úplnou strukturu sjednocení do seznamu zachycení výrazu lambda.

Example

Následující příklad generuje C3492, protože zachycuje člena anonymní sjednocení:

// C3492a.cpp

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

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

Následující příklad přeloží C3492 tak, že sjednocuje název a předá úplnou strukturu sjednocení do seznamu zachycení výrazu lambda:

// C3492b.cpp

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

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

Viz také

Výrazy lambda