🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Frage: illegal structur operation

#744
From: Bernd Eggink
Date: Tue, 07 Nov 1995 09:04
56 lines
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!admin
References: <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]