Accesso non corretto a un'unione
ANSI 3.3.2.3 L'accesso a un membro di un oggetto unione viene eseguito usando un membro di un tipo diverso
Se viene dichiarata un'unione di due tipi e viene archiviato un valore, ma l'accesso all'unione viene eseguito con l'altro tipo, i risultati sono inaffidabili.
Ad esempio, viene dichiarata un'unione di float
e int
. Un float
valore viene archiviato, ma il programma accede successivamente al valore come int
. In una situazione di questo tipo, il valore dipende dall'archiviazione interna dei float
valori. L'Integer non sarebbe affidabile.