Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.lang.c++.moderated    |    Moderated discussion of C++ superhackery    |    33,346 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 33,232 of 33,346    |
|    Francis Glassborow to All    |
|    Re: max enum value +1    |
|    05 Oct 13 14:01:41    |
   
   From: francis.glassborow@btinternet.com   
      
   On 05/10/2013 12:41, fmatthew5876 wrote:   
   >> What about:   
   >>   
   >> enum Color { // How I hate spellings that are specific to   
   >> // to one side of the Atlantic   
   >> red, blue, green, count };   
   >> constexpr unsigned colors{(unsigned) count};   
   >   
   > That still has a lot of the problems I mentioned.   
   >   
   > void printScreen(Color c);   
   >   
   > printScreen(count); //<- Must handle this invalid input at runtime   
   >   
   > switch(c) {   
   > case red:   
   > case blue:   
   > case green:   
   > }   
   >   
   > Using compiler switch warnings, it will complain that there is no case   
   > for color.   
   >   
   >   
      
   add something such as   
      
   case count:   
   default: throw "not a color";   
      
   Satisfies the compiler and handles all invalid colors   
      
      
      
   --   
    [ See http://www.gotw.ca/resources/clcm.htm for info about ]   
    [ comp.lang.c++.moderated. First time posters: Do this! ]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca