powiedzmy mamy UNION:Jak sprawdzić, jaki typ jest obecnie używany w związku?
typedef union someunion {
int a;
double b;
} myunion;
to możliwe, aby sprawdzić, jakiego typu jest w Unii po ustawić np a = 123? Moje podejście polega na dodaniu tego związku do pewnej struktury i ustawieniu uniontype na 1, gdy jest int i 2, gdy jest podwójne.
typedef struct somestruct {
int uniontype
myunion numbers;
} mystruct;
Czy istnieje lepsze rozwiązanie?
FYI, ta technika nazywa się "związkiem oznaczonym tagami". –
Lepszym rozwiązaniem jest użycie wartości wyliczeniowych zamiast 1, 2 itd. –