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,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