🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #748

Re: enums

#748
From: Herbert Kremser
Date: Wed, 08 Nov 1995 15:48
39 lines
1788 bytes
Karl-Heinz Krause (Krause@btx.dtag.de) wrote:
: Am 3. Nov. 1995 schrieb Benjamin Baermann
: (benni@dares.rbi.informatik.uni-frankfurt.de):
: 
: > Hallo!
: 
: > Mein Compiler weigert sich enums implizit nach int zu konvertieren. Das
: > ist ja einerseits irgendwie korrekt, andererseits doch aber hochgradig
: > unpraktisch, da dann so schoene Konstrukte, wie:
: 
: > const int maxcolor = 3;
: > enum color {blue, white, green};
: 
: > for(i=0;i=maxcolor;i++){
: > 	draw(i);
: > }
: 
: Die korrekte C++-gerechte Version wäre wohl:
: 
: 	enum color {blue, white, green};
: 	inline color operator++(color &c,int) 
: 	{ color tmp=c; c = color(c+1); return tmp; }
: 
: 	for (color i=blue; i<=green; i++) draw(i);
: 
: Zugegebenermaßen ziemlich aufwendig. 

Nicht nur das. Was passiert eigentlich bei color(4) ?
Fehlerueberpruefung fuerst du ja keine durch, aber color darf ja wohl
nur blue white oder green zurueckliefern.
i<=green gibt also immer true zurueck und du haettest eine Endlosschleife.
gute Compiler sollten aber da ohnehin ein Warning rausgeben.

Herbert

-- 
Herbert Kremser                                      |  "On the Internet,
kremser@flinux.tu-graz.ac.at                         |   nobody knows
kremser@sbox.tu-graz.ac.at                           |   you're a dog." 
Technical Details
Message-ID: <47qjga$e4f@fstgal00.tu-graz.ac.at>
Path: arc1-ca.pugleaf.net!fstgal00.tu-graz.ac.at!not-for-mail
References: <47cqj5$d70@zeus.rbi.informatik.uni-frankfurt.de> <47lon8$ktb@news00.btx.dtag.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!fstgal00.tu-graz.ac.at!not-for-mail
From: kremser@sbox.tu-graz.ac.at (Herbert Kremser)
Newsgroups: de.comp.lang.c++
Subject: Re: enums
Date: 8 Nov 1995 15:48:26 GMT
Organization: Graz University of Technology, Austria
Message-ID: <47qjga$e4f@fstgal00.tu-graz.ac.at>
References: <47cqj5$d70@zeus.rbi.informatik.uni-frankfurt.de> <47lon8$ktb@news00.btx.dtag.de>
NNTP-Posting-Host: freelove.tu-graz.ac.at
X-Newsreader: TIN [UNIX 1.3 950824BETA PL0]