[elektro] C enum szarmaztatas
hg12345
hg12345 at freemail.hu
Thu Dec 3 14:27:21 CET 2015
Utólag az enum nem tölthető, de ha az osszes enumodat összefogod a unionban, akkor mindig az a felsorolást láthatod amit szeretnél :-)
typedef enum {p1=0,p2,p3,p4} list1_t;
typedef enum {k1=-1,k2,k3,k4} list2_t;
typedef enum {n1=0,n2,n3,n4} list3_t;
typedef union {
list1_t l1;
list2_t l2;
list3_t l3;
} uni_enum_t;
Ilyen esetben a megadás a hívakozás egy kicsit hosszabb, de a debugger -ben a megfelelő nézetben a jó nevet adja ki.
A másik lehetőség egy enum-ba összefoglalni, az
typedef enum {k1=-1,k2,p1=k2,n1=k2, .....} listall_t;
egyszerűbb a megadás a kód is olvasható marad, a debugger meg mindig ez első számhivtkozáshoz tartozó sorszám nevet jeleníti meg.
A fordított kódot túlzottan nem érdekli hogy az valamilyen int típus milyen enum(felsorolás) értékeket kap.
Karoly Kovacs <koka55 at gmx.at> írta:
>Ezek szerint mégsem jól írtad le. :)
>Lajos eléggé hozzáértő, s ha neki sem volt világos, mit szeretnél...
>Egyébként nekem sem eléggé világos.
>Ezt írod: "van egy enum, de nem akarom modositani a tartalmat, csak
>folytatni".
>Ez az én olvasatomban valami ilyesmi:
>enum akarmi{
> szilva,
> alma,
> korte
>};
>Ezt folytatni akarod, tehát:
>enum akarmi{
>szilva,
>alma,
>korte,
>dio,
>mandula
>}; (és újrafordítás)
>
>Vagy olyasmit szeretnél, hogy a fordítás során lett egy enum-od, s annak
>az utolsó eleme után futási időben szeretnél hozzáfűzni értékeket? Ez
>fura lenne, s valóban, ahogy Lajos is írta, csak amolyan jobb kézzel
>vakarom meg a bal fülemet megoldással lehetne (talán - ha egyáltalán
>erről van szó).
>
>Károly
>
>uprogc . wrote:
>> Szia,
>>
>>> Mit szeretnél
>> csinálni?
>>
>> Leirtam :)
>>
>> 2015-12-03 12:21 GMT+02:00 Lajos Rancz <lajos.rancz at gmail.com>:
>>
>>> Helló!
>>>
>>> Alapvetően sehogy; de több trükk/megkerülési módszer is van. Mit szeretnél
>>> csinálni?
>>>
>>> Üdv
>>>
>>> 2015. december 3. 11:00 uprogc . írta, <uprogc at gmail.com>:
>>>
>>>> Sziasztok,
>>>>
>>>> Olyasmit akarok hogy van egy enum, de nem akarom modositani a tartalmat,
>>>> csak folytatni, tudom hogy csak egy int az egesz, de hogy ne kelljen
>>>> tipuskenyszeriteni a warningok miatt, hogy lehtne egy uj tipust ebbol
>>>> "szarmaztatni" ?
>>>>
>>>> Udv.
>>>> Szabi
>>>> -----------------------------------------
>>>> elektro[-flame|-etc]
>>>>
>>> -----------------------------------------
>>> elektro[-flame|-etc]
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
>
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list