Article View: de.comp.lang.c++
Article #729Re: enums
From: Benjamin Baermann
Date: Sat, 04 Nov 1995 20:51
Date: Sat, 04 Nov 1995 20:51
76 lines
2811 bytes
2811 bytes
In <47d0ot$co6@trumpet.uni-mannheim.de> vogt@pi1.uni-mannheim.de (Torsten Vogt) writes:
>Hi Benni,
>[...]
>> 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++){
> ^^^^^^^^^^
>Oooops, kann es sein, dass dies Dein Fehler ist? Wie waere es mit
>i<maxcolor ? Welchen Datentyp hat i eigentlich? Vom Typ color?
Ne, Fehler hat da Programm keine, es ist naemlich keins ;-) Es sollte
nur zur Veranschaulichung dienen. Ich wollte halt einfach enums
"zaehlen". Dummerweise ging die Veranschaulichung wohl deutlich nach
hinten los... sorry, (ja, i sollte ein color sein (warum hab ich trottel
das eigentlich nicht geschrieben - das war doch der sinn des ganzen
postings??))
>> draw(i);
>> }
>>
>> nicht mehr moeglich sind. Ich gebe ja zu, dass das nicht typkorrekt ist,
>> allerdings wuerde doch eine warning hier wirklich ausreichen, oder. Ich
>> finde fuer solche Sachen sind enums doch eigentlich da ;-)
>>
>> Compiler: HP-UX-9 CC -> Error
>> g++ 2.5.8 -> Warning
>>
>Ich habe folgendes Programm auf einer Sun SPARC station und gcc 2.6.3
>ausprobiert:
>enum color {blue,white,green};
>int main() {
> color i;
> for (i=0; i<3; i++)
> printf("%d\n", i);
> return 0;
>}
>Zum einen tut es was es soll, zum anderen gibt es die von Dir geforderten
>Warnings.
Ja. Der gcc gibt auch bei mir nur warnings aus. Was sagt eigentlich der
Sprachstandard?
> Uebrigens finde ich folgende Konstruktion sinnvoller, und sie
>produziert keine Warnings:
>enum color {blue,white,green};
>int main() {
> int i;
> for (i=blue; i<=green; i++)
> printf("%d\n", i);
> return 0;
>}
Ja. Wenn ich aber schon vorher eine Variable vom Typ color habe muss ich
vor jeder Zaehlschleife casten. Das finde ich halt einfach laestig.
Aber wahrscheinlich ist es so schon am besten, da geb ich dir recht.
Gruesse, Benni
--
benni@informatik.uni-frankfurt.de|http://www.uni-frankfurt.de/gnomic/hello.html
"Deshalb, Leute, die glauben, dass Computer werden nicht koennen, wie
Menschen zu denken, auch glaubt nicht in Maschine-Uebersetzung."
Technical Details
Message-ID:
<47gjoe$a1k@zeus.rbi.informatik.uni-frankfurt.de>Path:
arc1-ca.pugleaf.net!hera.rbi.informatik.uni-frankfurt.de!benniReferences:
<47d0ot$co6@trumpet.uni-mannheim.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!hera.rbi.informatik.uni-frankfurt.de!benni From: benni@hera.rbi.informatik.uni-frankfurt.de (Benjamin Baermann) Newsgroups: de.comp.lang.c++ Subject: Re: enums Date: 4 Nov 1995 20:51:26 GMT Organization: J. W. Goethe-Universitaet Frankfurt/Main Message-ID: <47gjoe$a1k@zeus.rbi.informatik.uni-frankfurt.de> References: <47d0ot$co6@trumpet.uni-mannheim.de> NNTP-Posting-Host: hera.rbi.informatik.uni-frankfurt.de