Article View: de.comp.lang.c++
Article #744Re: Frage: illegal structur operation
From: Bernd Eggink
Date: Tue, 07 Nov 1995 09:04
Date: Tue, 07 Nov 1995 09:04
56 lines
2332 bytes
2332 bytes
Steffen Offermann (Steffen_Offermann@pil.dssd.fido.de) wrote:
> Moin Bernd,
> 02 Nov 95 17:10, Bernd Eggink wrote to All:
> BE> Karl-Heinz Krause (Krause@btx.dtag.de) wrote:
> >> if ( ist_alles_ok() ) { ... }
> >> Das kann nicht funktionieren, denn "if" erwartet einen
> >> Ausdruck vom Typ "int" oder einen Zeiger.
> BE> Ohne pingelig wirken zu wollen: if erwartet einen Wert eines
> BE> beliebigen ganzzahligen Typs (also auch char, long etc.)!
> Noe, ein Ausdruck (und einen solchen setzt der if-Operator in
> der Klammer voraus) hat in C und in C++ _immer_ den Typ int.
Ein Ausdruck hat immer den Typ int?? Meinst Du das ernst??
> Daher wuerde z.B. der folgende Konstrukt
> char ch = 'A';
> if ( ch ) ...
> interpretiert als
> if ( !!ch ) ...
> oder, in Langform:
> if ( ch != 0 ) ...
> Das unterscheidet C/C++ z.B. von Pascal, wo ein IF-Konstrukt immer
> ein boole'scher Ausdruck ist (so etwas gibt es in C/C++ ja nicht).
Das ist, mit Verlaub, Unsinn. "if (ausdruck)" wird (in aelteren Compilern)
einfach ausgewertet, indem nachgesehen wird, ob "ausdruck" == 0 ist
oder nicht. Punkt. Insofern muss ich meine vorher gemachte Behauptung
berichtigen: "ausdruck" kann auch durchaus vom Typ "float" oder "double"
sein.
Boolsche Ausdruecke gibt es aber inzwischen in C++ eben _doch_. Wenn der
Compiler sie schon versteht, wird "ausdruck" in den Typ "bool" umgewandelt
und dann geprueft, ob der Wert "true" oder "false" ist.
Gruss
Bernd
--
+----------------------------------+
| Bernd Eggink |
| Rechenzentrum Uni Hamburg |
| admin@rzaix13.rrz.uni-hamburg.de |
+----------------------------------+
Technical Details
Message-ID:
<47n7fl$aki@rzsun02.rrz.uni-hamburg.de>Path:
arc1-ca.pugleaf.net!news.rrz.uni-hamburg.de!rzaix13!adminReferences:
<47au25$aom@rzsun02.rrz.uni-hamburg.de> <MSGID_242=3A4000=2F18_309ca0a9@Fido.DE>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.rrz.uni-hamburg.de!rzaix13!admin From: admin@rzaix13.uni-hamburg.de (Bernd Eggink) Newsgroups: de.comp.lang.c++ Subject: Re: Frage: illegal structur operation Date: 7 Nov 1995 09:04:53 GMT Organization: University of Hamburg -- Germany Message-ID: <47n7fl$aki@rzsun02.rrz.uni-hamburg.de> References: <47au25$aom@rzsun02.rrz.uni-hamburg.de> <MSGID_242=3A4000=2F18_309ca0a9@Fido.DE> NNTP-Posting-Host: rzaix13.rrz.uni-hamburg.de X-Newsreader: TIN [version 1.2 PL2] X-Newsreader: TIN [version 1.2 PL2] X-Newsreader: TIN [version 1.2 PL2] X-Newsreader: TIN [version 1.2 PL2]