Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
'var' : vous ne pouvez pas capturer un membre d’union anonyme
Remarques
Vous ne pouvez pas capturer un membre d’une union sans nom.
Pour corriger cette erreur
- Donnez un nom à l’union et passez la structure d’union complète à la liste de capture de l’expression lambda.
Example
L’exemple suivant génère l’erreur C3492, car il capture un membre d’une union anonyme :
// C3492a.cpp
int main()
{
union
{
char ch;
int x;
};
ch = 'y';
[&x](char ch) { x = ch; }(ch); // C3492
}
L’exemple suivant résout l’erreur C3492 en nommant l’union et en passant la structure d’union complète à la liste de capture de l’expression lambda :
// C3492b.cpp
int main()
{
union
{
char ch;
int x;
} u;
u.ch = 'y';
[&u](char ch) { u.x = ch; }(u.ch);
}