Teilen über


Compilerfehler C3492

'var': Ein Member einer anonymen Union kann nicht erfasst werden.

Bemerkungen

Sie können ein Member einer unbenannten Union nicht erfassen.

So beheben Sie diesen Fehler

  • Weisen Sie der Union einen Namen zu, und übergeben Sie die vollständige Union-Struktur an die Erfassungsliste des Lambdaausdrucks.

Example

Im folgenden Beispiel wird C3492 generiert, da ein Member einer anonymen Union erfasst wird:

// C3492a.cpp

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

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

Im folgenden Beispiel wird C3492 behoben, indem der Union ein Name zugewiesen und die vollständige Union-Struktur an die Erfassungsliste des Lambdaausdrucks übergeben wird.

// C3492b.cpp

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

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

Siehe auch

Lambda-Ausdrücke