Si c'est un struct
alors il peut être faitComment initialiser une union?
*p = {var1, var2..};
Mais semble que cela ne fonctionne pas avec union
:
union Ptrlist
{
Ptrlist *next;
State *s;
};
Ptrlist *l;
l = allocate_space();
*l = {NULL};
seulement pour obtenir:
expected expression before ‘{’ token
vous avez deux types de pointeur dans votre union. lequel essayez-vous d'initialiser à null? Comment voulez-vous que le compilateur (ou ce lecteur) sache? –
@ James Wilcox, je sais que je peux le faire par 'u.field1 = NULL; u.field2 = NULL' mais n'est pas ce genre de redondance? – lexer
la question est le champ que vous essayez d'initialiser dans le code ci-dessus. Ni moi ni le compilateur n'a aucune idée si c'est supposé être 'next' ou' s' auquel vous essayez d'accéder. –