Is there a way to declare a function argument to take an anonymous enum? The 2019 Stack...
How can I define good in a religion that claims no moral authority?
Can undead you have reanimated wait inside a portable hole?
What information about me do stores get via my credit card?
Typeface like Times New Roman but with "tied" percent sign
What is this lever in Argentinian toilets?
Segmentation fault output is suppressed when piping stdin into a function. Why?
Can the DM override racial traits?
Take groceries in checked luggage
Did the UK government pay "millions and millions of dollars" to try to snag Julian Assange?
Did the new image of black hole confirm the general theory of relativity?
How did passengers keep warm on sail ships?
Would an alien lifeform be able to achieve space travel if lacking in vision?
What aspect of planet Earth must be changed to prevent the industrial revolution?
Does Parliament need to approve the new Brexit delay to 31 October 2019?
Road tyres vs "Street" tyres for charity ride on MTB Tandem
does high air pressure throw off wheel balance?
Finding the path in a graph from A to B then back to A with a minimum of shared edges
Sort a list of pairs representing an acyclic, partial automorphism
In horse breeding, what is the female equivalent of putting a horse out "to stud"?
How to politely respond to generic emails requesting a PhD/job in my lab? Without wasting too much time
How are presidential pardons supposed to be used?
How does ice melt when immersed in water?
Simulating Exploding Dice
Is there a writing software that you can sort scenes like slides in PowerPoint?
Is there a way to declare a function argument to take an anonymous enum?
The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
The Ask Question Wizard is Live!
Data science time! April 2019 and salary with experienceWhat 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;
}
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
|
show 2 more comments
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
1
I'm sure you already thought of this, but my suggestion is to promote theenum
to be a global, named type.
– Tom Karzes
2 days ago
3
Sure, you canSWITCH *createSwitch(int status...)
– Mark Benningfield
2 days ago
The value of an enumeration is similar to an integer, you can acceptstatus
as any type of integer
– liamcomp
2 days ago
1
Replacing???
withtypeof(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
yesterday
@user3386109: I guess I'm blind; where do you seetypeof(On)
?
– Mark Benningfield
yesterday
|
show 2 more comments
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
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
c enums
asked 2 days ago
Tyler DurdenTyler Durden
7,24174096
7,24174096
1
I'm sure you already thought of this, but my suggestion is to promote theenum
to be a global, named type.
– Tom Karzes
2 days ago
3
Sure, you canSWITCH *createSwitch(int status...)
– Mark Benningfield
2 days ago
The value of an enumeration is similar to an integer, you can acceptstatus
as any type of integer
– liamcomp
2 days ago
1
Replacing???
withtypeof(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
yesterday
@user3386109: I guess I'm blind; where do you seetypeof(On)
?
– Mark Benningfield
yesterday
|
show 2 more comments
1
I'm sure you already thought of this, but my suggestion is to promote theenum
to be a global, named type.
– Tom Karzes
2 days ago
3
Sure, you canSWITCH *createSwitch(int status...)
– Mark Benningfield
2 days ago
The value of an enumeration is similar to an integer, you can acceptstatus
as any type of integer
– liamcomp
2 days ago
1
Replacing???
withtypeof(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
yesterday
@user3386109: I guess I'm blind; where do you seetypeof(On)
?
– Mark Benningfield
yesterday
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
2 days ago
I'm sure you already thought of this, but my suggestion is to promote the
enum
to be a global, named type.– Tom Karzes
2 days ago
3
3
Sure, you can
SWITCH *createSwitch(int status...)
– Mark Benningfield
2 days ago
Sure, you can
SWITCH *createSwitch(int status...)
– Mark Benningfield
2 days ago
The value of an enumeration is similar to an integer, you can accept
status
as any type of integer– liamcomp
2 days ago
The value of an enumeration is similar to an integer, you can accept
status
as any type of integer– liamcomp
2 days ago
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
yesterday
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
yesterday
@user3386109: I guess I'm blind; where do you see
typeof(On)
?– Mark Benningfield
yesterday
@user3386109: I guess I'm blind; where do you see
typeof(On)
?– Mark Benningfield
yesterday
|
show 2 more comments
1 Answer
1
active
oldest
votes
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
edited yesterday
answered yesterday
P.WP.W
18.7k41859
18.7k41859
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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
2 days ago
3
Sure, you can
SWITCH *createSwitch(int status...)
– Mark Benningfield
2 days ago
The value of an enumeration is similar to an integer, you can accept
status
as any type of integer– liamcomp
2 days ago
1
Replacing
???
withtypeof(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
yesterday
@user3386109: I guess I'm blind; where do you see
typeof(On)
?– Mark Benningfield
yesterday