digitalmars.D.learn - enum help
- Michael P. (9/9) Aug 27 2008 So, I'm having problems with enums.
- Denis Koroskin (3/15) Aug 27 2008 Try this:
- Derek Parnell (16/24) Aug 27 2008 This is because the enum declaration creates its own namespace. This is ...
- Michael P. (3/33) Aug 28 2008 Thanks, that worked.
- Zarathustra (48/60) Aug 27 2008 Use anymous enumerate,
So, I'm having problems with enums. Let's say I have this piece of code: enum Card { NINE = 0, JACK = 2, QUEEN = 3, KING= 4, TEN = 10, ACE = 11 } void main() { Card MyCard; MyCard = NINE; } I get an error saying that NINE is undefined and it cannot be implicitly converted to type int. How would I make a Card variable get the value of NINE?
Aug 27 2008
On Wed, 27 Aug 2008 23:21:14 +0400, Michael P. <baseball.mjp gmail.com> wrote:So, I'm having problems with enums. Let's say I have this piece of code: enum Card { NINE = 0, JACK = 2, QUEEN = 3, KING= 4, TEN = 10, ACE = 11 } void main() { Card MyCard; MyCard = NINE; } I get an error saying that NINE is undefined and it cannot be implicitly converted to type int. How would I make a Card variable get the value of NINE?Try this:MyCard = Card.NINE;
Aug 27 2008
On Wed, 27 Aug 2008 15:21:14 -0400, Michael P. wrote:enum Card { NINE = 0, JACK = 2, QUEEN = 3, KING= 4, TEN = 10, ACE = 11 } void main() { Card MyCard; MyCard = NINE; } I get an error saying that NINE is undefined ...This is because the enum declaration creates its own namespace. This is so you can disambiguate between different 'NINE' definitions... enum Card { NINE = 0, JACK = 2, QUEEN = 3, KING= 4, TEN = 10, ACE = 11 } enum Pin { ONE = 1, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE } void main() { Card MyCard; Pin MyPins; MyCard = Card.NINE; MyPins = Pin.NINE; } -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Aug 27 2008
Derek Parnell Wrote:On Wed, 27 Aug 2008 15:21:14 -0400, Michael P. wrote:Thanks, that worked. -Michael P.enum Card { NINE = 0, JACK = 2, QUEEN = 3, KING= 4, TEN = 10, ACE = 11 } void main() { Card MyCard; MyCard = NINE; } I get an error saying that NINE is undefined ...This is because the enum declaration creates its own namespace. This is so you can disambiguate between different 'NINE' definitions... enum Card { NINE = 0, JACK = 2, QUEEN = 3, KING= 4, TEN = 10, ACE = 11 } enum Pin { ONE = 1, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE } void main() { Card MyCard; Pin MyPins; MyCard = Card.NINE; MyPins = Pin.NINE; } -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Aug 28 2008
Michael P. Wrote:So, I'm having problems with enums. Let's say I have this piece of code: enum Card { NINE = 0, JACK = 2, QUEEN = 3, KING= 4, TEN = 10, ACE = 11 } void main() { Card MyCard; MyCard = NINE; } I get an error saying that NINE is undefined and it cannot be implicitly converted to type int. How would I make a Card variable get the value of NINE?Use anymous enumerate, _______________________________________________ enum{ NINE = 0, JACK = 2, QUEEN = 3, KING = 4, TEN = 10, ACE = 11 } void main{ auto MyCard = NINE; } _______________________________________________ aliases _______________________________________________ enum Card{ NINE = 0, JACK = 2, QUEEN = 3, KING = 4, TEN = 10, ACE = 11 } alias Card.NINE NINE ; alias Card.JACK JACK ; alias Card.QUEEN QUEEN; alias Card.KING KING ; alias Card.TEN TEN ; alias Card.ACE ACE ; void main{ Card MyCard = NINE; } _______________________________________________ or namespace Card _______________________________________________ enum Card{ NINE = 0, JACK = 2, QUEEN = 3, KING = 4, TEN = 10, ACE = 11 } void main{ Card MyCard = Card.NINE; }
Aug 27 2008