🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #10151

Re: Vraagje over klassen (class) (C++)

#10151
From: Philip Paeps
Date: Thu, 28 Mar 2002 18:55
48 lines
3500 bytes
Bert Peers <bert.peers@materialise.be> wrote:
> Philip Paeps wrote:

> > Misschien aan je docenten uitleggen waarom je void main() nooit mag
> > gebruiken, het zou je misschien ten goede kunnen komen op een examen ;-)

> Ik ben eigenlijk ook wel benieuwd :)

> De standaard zegt dat een int main die niks returnt, impliciet moet worden
> aangepast alsof er stond return 0; Als dat zomaar kan (en moet), zie ik niet
> in waarom het hemeltergend is als een compiler de (imho vrij logische)
> volgende stap zet om, bij afwezigheid van zo'n return statement, gelijk ook
> maar een void main () toe te laten.

Even Googlen gaf me dit:

 <http://users.footprints.net/~kaz/cppvoidmain.html>

 | So in summary, a C++ program whose main returns something other than
 | int is an ill-formed program that requires a diagnostic.  If such an
 | ill-formed program is translated and executed anyway, its behavior is
 | undefined.

> Er zit sowieso CRT setup- en afbraak-code om de main-call heen, dus het is
> niet omdat daar void main () staat dat het process op zich geen welbepaalde
> (ie non-garbage) exit code kan hebben.

Ik dat van implementatie tot implementatie verschilde?  Ik ken de standaard
niet voldoende van buiten (ik schrijf applicaties, geen compilers :-)).  Het
blijft echter 'dodgy' om de compiler zijn gangetje te laten gaan met return
codes: als je main() geen return code heeft, waar haalt de compiler dan de
'wetenschap' dat het 0 moet/mag zijn?  Een 0-return impliceert traditioneel
ook succes, een begrip bepaaldt door de programmeur, niet door de compiler.

> De standaard lijkt me hier nogal arbitrair, maar ik ken er het fijne niet
> van, vandaar : ik ben wel benieuwd naar die redenen :)

De bovenstaande site geeft in ieder geval al een redelijk deftige uitleg.  Ik
denk dat de standaard zelf ook wel ergens online staat, maar die is minder
plezierig om te lezen (*geeuw*).

 - Philip

-- 
Philip Paeps                                                   philip@paeps.cx

  You can make it foolproof, but you can't make it
  damnfoolproof.
Technical Details
Message-ID: <EGJo8.37745$DE4.4980@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!newsfeed.online.be!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <aN8l8.14631$DE4.1677@afrodite.telenet-ops.be> <3C9B3818.8010102@materialise.be> <a7fi5f$110ks$1@sinclair.be.wanadoo.com> <UdIm8.25048$DE4.3433@afrodite.telenet-ops.be> <a7k2tm$1d45s$1@sinclair.be.wanadoo.com> <uKpn8.29289$DE4.3889@afrodite.telenet-ops.be> <a7mln7$15bu8$1@sinclair.be.wanadoo.com> <a0Dn8.30250$DE4.4343@afrodite.telenet-ops.be> <a7n4i3$1cs57$1@sinclair.be.wanadoo.com> <GAGn8.30602$DE4.4291@afrodite.telenet-ops.be> <3CA32708.5040004@materialise.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,4353de8f92b91cf9
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-03-28 10:55:34 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!newsfeed.online.be!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Philip Paeps <philip@paeps.cx>
Subject: Re: Vraagje over klassen (class) (C++)
Newsgroups: be.comp.programming
References: <aN8l8.14631$DE4.1677@afrodite.telenet-ops.be>   <3C9B3818.8010102@materialise.be> <a7fi5f$110ks$1@sinclair.be.wanadoo.com> <UdIm8.25048$DE4.3433@afrodite.telenet-ops.be> <a7k2tm$1d45s$1@sinclair.be.wanadoo.com> <uKpn8.29289$DE4.3889@afrodite.telenet-ops.be> <a7mln7$15bu8$1@sinclair.be.wanadoo.com> <a0Dn8.30250$DE4.4343@afrodite.telenet-ops.be> <a7n4i3$1cs57$1@sinclair.be.wanadoo.com> <GAGn8.30602$DE4.4291@afrodite.telenet-ops.be> <3CA32708.5040004@materialise.be>
User-Agent: tin/1.5.12-20020323 ("Sugar") (UNIX) (FreeBSD/4.5-STABLE (i386))
Lines: 48
Message-ID: <EGJo8.37745$DE4.4980@afrodite.telenet-ops.be>
Date: Thu, 28 Mar 2002 18:55:32 GMT
NNTP-Posting-Host: 213.118.135.125
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1017341732 213.118.135.125 (Thu, 28 Mar 2002 19:55:32 MET)
NNTP-Posting-Date: Thu, 28 Mar 2002 19:55:32 MET
Organization: Telenet Internet