Errore del compilatore C3492
'var': impossibile acquisire un membro di un'unione anonima
Non è possibile acquisire un membro di un'unione senza nome.
Per correggere l'errore
- Assegnare un nome all'unione e passare la struttura di unione completa all'elenco di acquisizione dell'espressione lambda.
Esempi
L'esempio seguente genera l'errore C3492 perché acquisisce un membro di un'unione anonima:
// C3492a.cpp
int main()
{
union
{
char ch;
int x;
};
ch = 'y';
[&x](char ch) { x = ch; }(ch); // C3492
}
L'esempio seguente risolve l'errore C3492, assegnando un nome all'unione e passando la struttura di unione completa all'elenco di acquisizione dell'espressione lambda:
// C3492b.cpp
int main()
{
union
{
char ch;
int x;
} u;
u.ch = 'y';
[&u](char ch) { u.x = ch; }(u.ch);
}