[elektro] C enum szarmaztatas
uprogc .
uprogc at gmail.com
Thu Dec 3 13:56:02 CET 2015
Arra gondoltam hogy lehet ezt valahogy okosabban csinalni. Mert ha egy
fuggvenyen belul ket fele enum tipusom van akkor ha nem hasznalok
tipuskenyszeritest a return-nel akkor jonnek az idetlen warningok a
forditotol.
Szoval ez egy problema ami nincs megoldva, es szivashoz is vezethet adott
esetben.
Egyelore ugy csinaltam hoyg kulon enum van, es a masik enum vegetol
folytatodik (az utolso szsamtol kezdodoen). Igy kell meg egy if a
fuggvenybe, hogy a hivott fuggveny visszatereset ellenorizze, es ha hiba
van akkor egy mar sajat deklaralt hibaval ter vissza.
2015-12-03 14:34 GMT+02:00 SZIGETI Szabolcs <szigiszabolcs at gmail.com>:
> Aha. Egy enum ugye önálló típus (bár a C nem így kezeli), tehát egyik "nem
> tud" a másikról és nincs is semmi előírás, hogy ne legyenek átfedő értékek.
> De ha ez a dolog logikailag egyben van használva (mármint van egy enumod
> hibakódoknak), akkor ezt egyben illene definiálni, tehát mondjuk lenne egy
> hibakodok.h, amiben ezek benne vannak. Akkor biztosan egyedi lenne.
> Másik, hogy külön enumokat csinálsz, az egyikben mondjuk 0-tól, a másikban
> 100-tól, a harmadikban 200-tól, stb. kezdődnek az értékek. Ekkor persze
> kell fegyelem, hogy ezt betartsad, bár ezt is lehet automatizálni különböző
> scriptekkel, ha nagyon akarod.
>
> Szabolcs
>
>
>
> 2015. december 3. 12:38 uprogc . írta, <uprogc at gmail.com>:
>
> > Pl van egy fuggveny amely kulonbozo hibaval terhet vissza, a hibak egy
> > enumba vannak osszefoglalva.
> > Ezt a fv.t hivom egy masik fuggvenybol, amely szinten tobb hibaval terhet
> > vissza, lehet sajat hibaja is meg "orokolt" hibaja is a hivott
> fuggvenytol.
> > A hivo fv.nek is van egy enumja a hibakodokkal.
> >
> > Ezt a ket enumot kellene egymasnak megfelelove tenni. Es ne fedjek
> egymast
> > (pl. a 0x00 ne ismetlodjon az enumokban.)
> >
> > 2015-12-03 13:12 GMT+02:00 SZIGETI Szabolcs <szigiszabolcs at gmail.com>:
> >
> > > Hali!
> > >
> > > Csak abból nem igazán lehet megérteni, hogy valójában mit szeretnél.
> > Mutass
> > > már egy példát.
> > > Mellesleg az enum jellegű dolgokat ott illik felhasználni, ahol vagy
> nem
> > > érdekes az érték, vagy egyértelműen konvertálható a használt típusba.
> > > Szóval mondjuk ha pointerként akarod használni, akkor nem arra való.
> > Újabb
> > > nyelvek nem is engednek típuskonverziót.
> > >
> > > Szabolcs
> > >
> > >
> > > 2015. december 3. 11:57 uprogc . írta, <uprogc at gmail.com>:
> > >
> > > > 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]
> >
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list