Article View: be.comp.programming
Article #4602Re: scope probleem (denk ik) in vc++
From: Slayerke
Date: Tue, 15 Jul 2003 19:49
Date: Tue, 15 Jul 2003 19:49
59 lines
3564 bytes
3564 bytes
Harbinger of Doom wrote: > > "Nicolas Barbier" <anti@spam.invalid> schreef in bericht > news:3f1452ac$0$6523$afc38c87@sisyphus.news.be.easynet.net... >> Harbinger of Doom wrote: >> >> > Sorry voor de engelse tekst, >> > maar kheb dit berichtje in verschillende nieuwsgroepen gepost >> > en kben vanavond te lui om het naar 't nederlands >> > te vertalen! >> >> Multiposten wordt als "extreem evil" beschouwd op USENET. > > ekskuzeer, > /me wist dit niet. > then again.... evil is fun ;-) hehe > >> > yet when I declare 'connection' in the class definition of 'Node' > (instead >> > of in the Node::connect() function) >> > so that it would have class-scope, >> > I get compile errors whenever I use a Node object. >> >> Als in "Node" een "NodeHttpConnection" zit ingebed, wordt van het 2e de >> copy-constructor aangeroepen telkens de copy-constructor van "Node" wordt >> aangeroepen (als je er zelf geen hebt gedefinieerd voor "Node"). > > Dat is volgens mij niet echt het probleem. > > Noch "Node", noch "NodeHttpConnection" hebben een copy constructor. > Volgens wat ik lees in de VC++ manual zou de compiler er dan z�lf een > moeten aanmaken > die gewoon de default constructor aanroept. > Blijkbaar gebeurd dat al goed en wel, zolang ik mijn > NodeHttpConnection-object declareer > binnen Node::connect(); > maar gebeurd dat niet meer als ik mijn NodeHttpConnection-object declareer > in de > klasse-definitie van "Node" > De compiler-errors reppen ook niets over een copy-constructor voor > "NodeHttpConnection", > enkel over een voor "Node" > > Ofwel begrijp ik je verkeerd. In het geval dat je het lokaal gebruikt, wordt er voor NodeHttpConnection geen copyconstructor gebruikt (tenzij je nog andere code staan hebt die dat wel doet). Een copyconstructor door de compiler gegenereerd doet ook meer dan de default-constructor aanroepen, alle gewone variabelen (en pointers dus) worden letterlijk gekopieerd, voor objecten wordt de object-specifieke copyconstructor gebruikt. Wat zijn de errors letterlijk, hij gaat toch _iets_ meer zeggen dan enkel: no copy constructor defined for Node? Misschien eens zelf een copyconstructor maken en kijken wat de compiler dan uitvindt als error. -- Groeten, Slayerke
Technical Details
Message-ID:
<lVYQa.11896$F92.1353@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-04!sn-xit-06!sn-xit-09!supernews.com!priapus.visi.com!news-out.visi.com!petbe.visi.com!in.100proofnews.com!in.100proofnews.com!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<A6YQa.12562$x86.1129888907@hestia.telenet-ops.be> <3f1452ac$0$6523$afc38c87@sisyphus.news.be.easynet.net> <nnYQa.12574$m97.1134117932@hestia.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: fcea4,95543aa8161eaaf9 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-07-15 12:54:07 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-04!sn-xit-06!sn-xit-09!supernews.com!priapus.visi.com!news-out.visi.com!petbe.visi.com!in.100proofnews.com!in.100proofnews.com!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail From: Slayerke <slayerkenospammer@slayerke.co.uk> Subject: Re: scope probleem (denk ik) in vc++ Newsgroups: be.comp.programming Reply-To: slayerkenospammer@slayerke.co.uk References: <A6YQa.12562$x86.1129888907@hestia.telenet-ops.be> <3f1452ac$0$6523$afc38c87@sisyphus.news.be.easynet.net> <nnYQa.12574$m97.1134117932@hestia.telenet-ops.be> Lines: 59 User-Agent: KNode/0.7.2 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8Bit Message-ID: <lVYQa.11896$F92.1353@afrodite.telenet-ops.be> Date: Tue, 15 Jul 2003 19:49:37 GMT NNTP-Posting-Host: 213.224.128.12 X-Complaints-To: abuse@telenet.be X-Trace: afrodite.telenet-ops.be 1058298577 213.224.128.12 (Tue, 15 Jul 2003 21:49:37 MET DST) NNTP-Posting-Date: Tue, 15 Jul 2003 21:49:37 MET DST Organization: Telenet Internet