[elektro] C enum szarmaztatas

Steve istvan.retaller at gmail.com
Thu Dec 3 17:26:32 CET 2015


Csak kíváncsiságból követtem ezt a szálat, de ez frappáns!


2015-12-03 14:27 keltezéssel, hg12345 írta:
> 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]
> -----------------------------------------
>            elektro[-flame|-etc]



More information about the Elektro mailing list