Is there a way to declare a function argument to take an anonymous enum? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!What is the size of an enum in C?typeof operator in CWays to save enums in databaseReturning an enum from a function in C?Get int value from enum in C#Convert objective-c typedef to its string equivalentIs the sizeof(enum) == sizeof(int), always?Getting attributes of Enum's valueHow to use c structure in python "?What is an idiomatic way of representing enums in Go?nonspecific enum function parameterenum to string in modern C++11 / C++14 / C++17 and future C++20

Multi tool use
Multi tool use

Is this homebrew Lady of Pain warlock patron balanced?

Dating a Former Employee

Maximum summed powersets with non-adjacent items

Why are there no cargo aircraft with "flying wing" design?

Why are both D and D# fitting into my E minor key?

Delete nth line from bottom

How do I find out the mythology and history of my Fortress?

Why are the trig functions versine, haversine, exsecant, etc, rarely used in modern mathematics?

Do jazz musicians improvise on the parent scale in addition to the chord-scales?

8 Prisoners wearing hats

How to compare two different files line by line in unix?

Can an alien society believe that their star system is the universe?

また usage in a dictionary

First console to have temporary backward compatibility

For a new assistant professor in CS, how to build/manage a publication pipeline

Do wooden building fires get hotter than 600°C?

If a contract sometimes uses the wrong name, is it still valid?

Using audio cues to encourage good posture

Trademark violation for app?

How could we fake a moon landing now?

Why wasn't DOSKEY integrated with COMMAND.COM?

How does the math work when buying airline miles?

Is it cost-effective to upgrade an old-ish Giant Escape R3 commuter bike with entry-level branded parts (wheels, drivetrain)?

Is it common practice to audition new musicians one-on-one before rehearsing with the entire band?



Is there a way to declare a function argument to take an anonymous enum?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!What is the size of an enum in C?typeof operator in CWays to save enums in databaseReturning an enum from a function in C?Get int value from enum in C#Convert objective-c typedef to its string equivalentIs the sizeof(enum) == sizeof(int), always?Getting attributes of Enum's valueHow to use c structure in python "?What is an idiomatic way of representing enums in Go?nonspecific enum function parameterenum to string in modern C++11 / C++14 / C++17 and future C++20



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








8















If I have an anonymous enum, is there any way to pass a value of that type to a function? For example,



typedef struct 
enum On, Off status;
int max_amps;
SWITCH;

void make_switches()
SWITCH switch1 = createSwitch( On, 15 );
SWITCH switch2 = createSwitch( Off, 20 );


SWITCH* createSwitch( ??? status, int max_amps )
SWITCH* new_switch = malloc( sizeof( SWITCH ) );
new_switch->status = status;
new_switch->max_amps = max_amps;
return new_switch;



I would like to pass the value of the anonymous enum into the createSwitch() function. Is there any way to do this?










share|improve this question

















  • 1





    I'm sure you already thought of this, but my suggestion is to promote the enum to be a global, named type.

    – Tom Karzes
    Apr 12 at 3:52






  • 3





    Sure, you can SWITCH *createSwitch(int status...)

    – Mark Benningfield
    Apr 12 at 3:52











  • The value of an enumeration is similar to an integer, you can accept status as any type of integer

    – liamcomp
    Apr 12 at 3:52






  • 1





    Replacing ??? with typeof(On) is a really bad idea for many reasons, not the least of which is that it isn't mentioned in the C specification. See also: stackoverflow.com/questions/12081502/typeof-operator-in-c

    – user3386109
    Apr 12 at 3:52











  • @user3386109: I guess I'm blind; where do you seetypeof(On) ?

    – Mark Benningfield
    Apr 12 at 3:56

















8















If I have an anonymous enum, is there any way to pass a value of that type to a function? For example,



typedef struct 
enum On, Off status;
int max_amps;
SWITCH;

void make_switches()
SWITCH switch1 = createSwitch( On, 15 );
SWITCH switch2 = createSwitch( Off, 20 );


SWITCH* createSwitch( ??? status, int max_amps )
SWITCH* new_switch = malloc( sizeof( SWITCH ) );
new_switch->status = status;
new_switch->max_amps = max_amps;
return new_switch;



I would like to pass the value of the anonymous enum into the createSwitch() function. Is there any way to do this?










share|improve this question

















  • 1





    I'm sure you already thought of this, but my suggestion is to promote the enum to be a global, named type.

    – Tom Karzes
    Apr 12 at 3:52






  • 3





    Sure, you can SWITCH *createSwitch(int status...)

    – Mark Benningfield
    Apr 12 at 3:52











  • The value of an enumeration is similar to an integer, you can accept status as any type of integer

    – liamcomp
    Apr 12 at 3:52






  • 1





    Replacing ??? with typeof(On) is a really bad idea for many reasons, not the least of which is that it isn't mentioned in the C specification. See also: stackoverflow.com/questions/12081502/typeof-operator-in-c

    – user3386109
    Apr 12 at 3:52











  • @user3386109: I guess I'm blind; where do you seetypeof(On) ?

    – Mark Benningfield
    Apr 12 at 3:56













8












8








8








If I have an anonymous enum, is there any way to pass a value of that type to a function? For example,



typedef struct 
enum On, Off status;
int max_amps;
SWITCH;

void make_switches()
SWITCH switch1 = createSwitch( On, 15 );
SWITCH switch2 = createSwitch( Off, 20 );


SWITCH* createSwitch( ??? status, int max_amps )
SWITCH* new_switch = malloc( sizeof( SWITCH ) );
new_switch->status = status;
new_switch->max_amps = max_amps;
return new_switch;



I would like to pass the value of the anonymous enum into the createSwitch() function. Is there any way to do this?










share|improve this question














If I have an anonymous enum, is there any way to pass a value of that type to a function? For example,



typedef struct 
enum On, Off status;
int max_amps;
SWITCH;

void make_switches()
SWITCH switch1 = createSwitch( On, 15 );
SWITCH switch2 = createSwitch( Off, 20 );


SWITCH* createSwitch( ??? status, int max_amps )
SWITCH* new_switch = malloc( sizeof( SWITCH ) );
new_switch->status = status;
new_switch->max_amps = max_amps;
return new_switch;



I would like to pass the value of the anonymous enum into the createSwitch() function. Is there any way to do this?







c enums






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 12 at 3:39









Tyler DurdenTyler Durden

7,25074096




7,25074096







  • 1





    I'm sure you already thought of this, but my suggestion is to promote the enum to be a global, named type.

    – Tom Karzes
    Apr 12 at 3:52






  • 3





    Sure, you can SWITCH *createSwitch(int status...)

    – Mark Benningfield
    Apr 12 at 3:52











  • The value of an enumeration is similar to an integer, you can accept status as any type of integer

    – liamcomp
    Apr 12 at 3:52






  • 1





    Replacing ??? with typeof(On) is a really bad idea for many reasons, not the least of which is that it isn't mentioned in the C specification. See also: stackoverflow.com/questions/12081502/typeof-operator-in-c

    – user3386109
    Apr 12 at 3:52











  • @user3386109: I guess I'm blind; where do you seetypeof(On) ?

    – Mark Benningfield
    Apr 12 at 3:56












  • 1





    I'm sure you already thought of this, but my suggestion is to promote the enum to be a global, named type.

    – Tom Karzes
    Apr 12 at 3:52






  • 3





    Sure, you can SWITCH *createSwitch(int status...)

    – Mark Benningfield
    Apr 12 at 3:52











  • The value of an enumeration is similar to an integer, you can accept status as any type of integer

    – liamcomp
    Apr 12 at 3:52






  • 1





    Replacing ??? with typeof(On) is a really bad idea for many reasons, not the least of which is that it isn't mentioned in the C specification. See also: stackoverflow.com/questions/12081502/typeof-operator-in-c

    – user3386109
    Apr 12 at 3:52











  • @user3386109: I guess I'm blind; where do you seetypeof(On) ?

    – Mark Benningfield
    Apr 12 at 3:56







1




1





I'm sure you already thought of this, but my suggestion is to promote the enum to be a global, named type.

– Tom Karzes
Apr 12 at 3:52





I'm sure you already thought of this, but my suggestion is to promote the enum to be a global, named type.

– Tom Karzes
Apr 12 at 3:52




3




3





Sure, you can SWITCH *createSwitch(int status...)

– Mark Benningfield
Apr 12 at 3:52





Sure, you can SWITCH *createSwitch(int status...)

– Mark Benningfield
Apr 12 at 3:52













The value of an enumeration is similar to an integer, you can accept status as any type of integer

– liamcomp
Apr 12 at 3:52





The value of an enumeration is similar to an integer, you can accept status as any type of integer

– liamcomp
Apr 12 at 3:52




1




1





Replacing ??? with typeof(On) is a really bad idea for many reasons, not the least of which is that it isn't mentioned in the C specification. See also: stackoverflow.com/questions/12081502/typeof-operator-in-c

– user3386109
Apr 12 at 3:52





Replacing ??? with typeof(On) is a really bad idea for many reasons, not the least of which is that it isn't mentioned in the C specification. See also: stackoverflow.com/questions/12081502/typeof-operator-in-c

– user3386109
Apr 12 at 3:52













@user3386109: I guess I'm blind; where do you seetypeof(On) ?

– Mark Benningfield
Apr 12 at 3:56





@user3386109: I guess I'm blind; where do you seetypeof(On) ?

– Mark Benningfield
Apr 12 at 3:56












1 Answer
1






active

oldest

votes


















10














As others have suggested, you can simply use an int in the place of ???.



This is because as per 6.7.2.2/3 of C11 standard (Committee draft):




The identifiers in an enumerator list are declared as constants that have type int and may appear wherever such are permitted.







share|improve this answer

























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55644158%2fis-there-a-way-to-declare-a-function-argument-to-take-an-anonymous-enum%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    10














    As others have suggested, you can simply use an int in the place of ???.



    This is because as per 6.7.2.2/3 of C11 standard (Committee draft):




    The identifiers in an enumerator list are declared as constants that have type int and may appear wherever such are permitted.







    share|improve this answer





























      10














      As others have suggested, you can simply use an int in the place of ???.



      This is because as per 6.7.2.2/3 of C11 standard (Committee draft):




      The identifiers in an enumerator list are declared as constants that have type int and may appear wherever such are permitted.







      share|improve this answer



























        10












        10








        10







        As others have suggested, you can simply use an int in the place of ???.



        This is because as per 6.7.2.2/3 of C11 standard (Committee draft):




        The identifiers in an enumerator list are declared as constants that have type int and may appear wherever such are permitted.







        share|improve this answer















        As others have suggested, you can simply use an int in the place of ???.



        This is because as per 6.7.2.2/3 of C11 standard (Committee draft):




        The identifiers in an enumerator list are declared as constants that have type int and may appear wherever such are permitted.








        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 12 at 10:53

























        answered Apr 12 at 4:26









        P.WP.W

        19.1k41860




        19.1k41860





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55644158%2fis-there-a-way-to-declare-a-function-argument-to-take-an-anonymous-enum%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Sat v,TdsutntPdIUL2Gd4 v,Omvd7He3Lq,NlVh,JUUNHx1THnwjIJ,fYWAFWUvG iEh6eoZ5DcQcy
            vwC5xtxOOA NulL,yRZu1MCLEL Xl,rq,QC,DBcVh

            Popular posts from this blog

            RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

            Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

            Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020