Ilekroć widzę przykłady unii, zawsze są to różne typy. Na przykład, z MSDN:Związek tego samego typu w C++
// declaring_a_union.cpp
union DATATYPE // Declare union type
{
char ch;
int i;
long l;
float f;
double d;
} var1; // Optional declaration of union variable
int main()
{
}
Co się dzieje, jeśli mam do związków (w tym przypadku anonimowość, ale to nie powinno mieć znaczenia) jak to:
union
{
float m_1stVar;
float m_1stVarAlternateName;
};
niezależnie od tego czy jest to dobra praktyka czy nie, czy spowoduje to problemy?
Jakie problemy mogą być przyczyną? –
Występuje korupcja sterty, a odpowiedź na to pytanie prowadzi do kolejnego pytania :) ... Chcę wyeliminować wszystkie możliwości. W tym przypadku nie widzę żadnych problemów, ale jak mówią "nigdy nie wiadomo". – Samaursa
Sądzę, że używasz już narzędzi oprócz zwykłej inspekcji kodu? W systemie unix-like valgrind jest niesamowicie przydatny, nie ma pewności co do alternatyw w systemie Windows (http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows). Znalezienie korupcji sterty na podstawie inspekcji kodu może być bardzo czasochłonne. –