Dobrý den,
mám principiálně takovýto union:
typedef union
{
int *pInt;
void (*pFcn)(int);
} u_t;
a potřebuji staticky definovat pole s tímto unionem, takže něco jako:
int fooInt;
void fooFce(int i);
const u_t u[] = {{.pFce = &fooFce}, {.pInt = &fooInt}};
Problém je v tom, že nemůžu použít C podle c99, ale jen c89. Takže nemůžu použít "designated initializers". Zároveň to píšu pro mikrokontrolér, takže jde o každý byte a nemůžu si dovolit nahradit union strukturou a pole musí být definováno s const.
Nevíte někdo, jak toto vyřešit?
Díky moc!