home bbs files messages ]

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