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,233 of 33,346    |
|    Bo Persson to All    |
|    Re: max enum value +1    |
|    05 Oct 13 14:04:00    |
   
   From: bop@gmb.dk   
      
   fmatthew5876 skrev 2013-10-05 13:41:   
   >> 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   
      
   It would anyway have to handle this case:   
      
   Color white = red|green|blue;   
      
   printScreen(white);   
      
   so not a major problem.   
      
      
   >   
   > switch(c) {   
   > case red:   
   > case blue:   
   > case green:   
   > }   
   >   
   > Using compiler switch warnings, it will complain that there is no case   
   > for color.   
   >   
      
   Yes, this could be more irritating.   
      
      
   Bo Persson   
      
      
      
      
   --   
    [ 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