enum MenuOptionInitial { TEST_ONE = 1, TEST_TWO, TEST_THREE};

switch(selection)
{
case TEST_ONE:
//....
case TEST_TWO:
//....
case TEST_THREE:
//....
}

the problem is that i want to have another selection base on other options

i.e.
enum MenuSecond { TEST2_ONE = 1, TEST2_TWO, TEST2_THREE};

switch(another_selection)
{
case TEST2_ONE:
//....
case TEST2_TWO:
//....
case TEST2_THREE:
//....
}

what can i do , for this to work??

i want to have multiple enums...is it possible....???

I think that i could use namespaces to solve this problem{although i don't know how}...But i someone wanted to write to pure c {that doesn't have namespaces}, what would he do?

Recommended Answers

All 3 Replies

Why not use the first ENUM set for the second selection also ?

Either that or prefix the ENUM names with an abbreviation of their purpose. Something like:

enum MenuOne { MO_FIRST = 1, MO_SECOND } ;
enum MenuTwo { MT_FIRST = 1, MT_SECOND } ;

As long as both enums are NOT used within same switch-case there are no issues at all..

If you wish to use them in same switch-case you'll get the err that case value is repeated. So all you gotta do is decide on 2 ranges for both your enums and change the first value in enum declaration appropriately.

E.g.

const ENUM_ONE_START = 0 ;
const ENUM_TWO_START = ENUM_ONE_START + 100 ;

enum MenuOptionInitial { TEST_ONE = ENUM_ONE_START, TEST_TWO, TEST_THREE};
enum MenuSecond { TEST2_ONE = ENUM_TWO_START, TEST2_TWO, TEST2_THREE};

As long as both enums are NOT used within same switch-case there are no issues at all..

If you wish to use them in same switch-case you'll get the err that case value is repeated. So all you gotta do is decide on 2 ranges for both your enums and change the first value in enum declaration appropriately.

E.g.

const ENUM_ONE_START = 0 ;
const ENUM_TWO_START = ENUM_ONE_START + 100 ;

enum MenuOptionInitial { TEST_ONE = ENUM_ONE_START, TEST_TWO, TEST_THREE};
enum MenuSecond { TEST2_ONE = ENUM_TWO_START, TEST2_TWO, TEST2_THREE};

thanks for answering

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.