Ошибка компилятора C3492
var: нельзя передавать член анонимного объединения
Вы не можете передавать член анонимного объединения
Исправление ошибки
- Присвойте объединению имя и передайте полную структуру объединения в список передаваемых параметров лямбда-выражения.
Примеры
В следующем примере возникает ошибка C3492, поскольку в нем передается член анонимного объединения:
// C3492a.cpp
int main()
{
union
{
char ch;
int x;
};
ch = 'y';
[&x](char ch) { x = ch; }(ch); // C3492
}
В следующем примере устраняется ошибка C3492 путем предоставления объединению имени и передачи полной структуры объединения в список передаваемых параметров лямбда-выражения:
// C3492b.cpp
int main()
{
union
{
char ch;
int x;
} u;
u.ch = 'y';
[&u](char ch) { u.x = ch; }(u.ch);
}