Mam dosyć nietypowy problem z uniami.
Jeżeli mamy taką unię:
union skarbiec
{
char c;
double pi;
};
i odczytujemy ją tak:
skarbiec moj = {'z'};
skarbiec twoj = {'a'};
skarbiec jego = {3.14};
}
To przecież (wg. symfonii standard) instrukcja:
skarbiec jego = {3.14};
powinna być przez kompilator odrzucona bo " pierwszy składnik jest typu char".
Nie do końca rozumiem o co chodzi w tych całych uniach.
Możemy tam do JEDNEGO składnika przypisać jakąś wartość a do innego już nie? Nie rozumiem tego... mnie się to kompiluje (używam Code::Blocks)... nie wiem może wg. starego standardu nie powinno a C++0x już na to pozwala?