Article View: be.comp.programming
Article #13660Re: Visual C++, MFC & STL
From: Tim
Date: Mon, 02 Jul 2001 19:33
Date: Mon, 02 Jul 2001 19:33
96 lines
4497 bytes
4497 bytes
Hallo,
Nog even voor de duidelijkheid:
CMGraphicsPage is een classe
LoadStruct(const CString &FileName) is een public member functie van de
classe
CParser Parser; // object dat elders is gedefinieerd
if (pDoc != NULL) delete pDoc; // member variabele
return Parser.ParseFile(FileName,pDoc); // return result parser
member function ParseFile(...)
string mystring; ==> testen of ik de gewone 'string' template kon
gebruiken. Weet heel goe dat deze code niet bereikbaar is. De error heeft
hier echter niets mee te maken. De error komt uit een include file : een
van de standaard c++ headers die bij visual c++ worden meegeleverd.
Heb ondertussen al genoeg ervaring met programmeren om te weten dat de fout
geenenkel verband houd met de vorige lijnen uit de member functie. Het
probleem is dat ik geen item van de classe 'string' (template om precies te
zijn) kan definieren !
Groeten,
Tim Musschoot
IT Consultant
"Sjoerd Schreuder" <sjoerd@geodan.nl> schreef in bericht
news:3B40AE85.A001A7A2@geodan.nl...
>
>
> Tim wrote:
> >
> > Hallo,
> >
> > Dit is de eigenlijke code: (ik had ze weggelaten omdat ze niet terzake
> > deed...)
>
> Waarom denk je wel te weten dat het niet terzake doet en weet je niet hoe
> de fout op te lossen?
>
> > #include <string>
> >
> > bool CMGraphicsPage::LoadStruct(const CString &FileName)
> > {
> > CParser Parser;
> > if (pDoc != NULL) delete pDoc;
> > return Parser.ParseFile(FileName,pDoc);
> > string mystring;
> > }
>
> Dit is dus niet al je eigenlijke code. Ik zie o.a. CMGraphicsPage, CString
> en CParser die nergens worden gedefinieerd. Aangezien ze ook niet in
> <string> worden gedefinieerd, zullen ze wel in een andere header
> staan.
>
> Verder, je programma zal nooit bij de regel "string mystring" komen
> tijdens het uitvoeren: er staat een return voor. Ik snap werkelijk
> niet wat je wilt bereiken.
>
> > U ziet dat ik <string.h> vervangen heb door <string>
>
> Bovenstaand stukje code gebruikt nergens std::string. Welk wordt
> CString gebruikt. Dat is een klasse uit MFC. Als je de keuze hebt,
> gebruik dan geen MFC: het ontwerp is slecht en er zijn tegenwoordig
> veel betere oplossingen beschikbaar door het gebruik van templates.
>
> Zelf gebruik ik geen MFC, dus ik denk niet dat ik je met specifieke vragen
> over MFC verder kan helpen.
>
> > Nu krijg ik echter deze errors:
> >
> [knip]
> > G:\VC7\Principal\parssys.cpp(176) : warning C4800: 'int' : forcing value
to
> ^^^
> > bool 'true' or 'false' (performance warning)
> > Error executing cl.exe.
>
> Hee! Gebruik je VC7? Die is (dacht ik) nog steeds in Beta.
>
> > parssys.obj - 6 error(s), 2 warning(s)
> >
> > Nog niet echt duidelijk, is het niet ?
> > Ik vraag me af wat er mis loopt...
>
> Zomaar een gokje: je bent de afsluitende puntkomma na een klasse definitie
> in een header vergeten. Dan krijg je een stukje verder, dus in de volgende
> header, pas de foutmelding. Meestal is dat de verklaring voor error
meldingen
> in de standaard headers.
>
> Sjoerd Schreuder
Technical Details
Message-ID:
<X%307.11694$YS5.1174504@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!195.238.2.15!skynet.be!cleanfeed.casema.net!leda.casema.net!newsr2.u-net.net!news-peer-uk.interpacket.net!afrodite.telenet-ops.be!not-for-mailReferences:
<uX007.11012$YS5.1068169@afrodite.telenet-ops.be> <3B409EAD.90749148@geodan.nl> <rW107.11276$YS5.1105303@afrodite.telenet-ops.be> <3B40AE85.A001A7A2@geodan.nl>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: 107324,4a6f8131b7ba917 X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,4a6f8131b7ba917 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-07-02 12:33:14 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!195.238.2.15!skynet.be!cleanfeed.casema.net!leda.casema.net!newsr2.u-net.net!news-peer-uk.interpacket.net!afrodite.telenet-ops.be!not-for-mail From: "Tim" <Tim.Musschoot@rug.ac.be> Newsgroups: be.comp.programming,nl.comp.programmeren References: <uX007.11012$YS5.1068169@afrodite.telenet-ops.be> <3B409EAD.90749148@geodan.nl> <rW107.11276$YS5.1105303@afrodite.telenet-ops.be> <3B40AE85.A001A7A2@geodan.nl> Subject: Re: Visual C++, MFC & STL Lines: 98 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: <X%307.11694$YS5.1174504@afrodite.telenet-ops.be> Date: Mon, 02 Jul 2001 19:33:11 GMT NNTP-Posting-Host: 213.118.63.149 X-Complaints-To: abuse@pandora.be X-Trace: afrodite.telenet-ops.be 994102391 213.118.63.149 (Mon, 02 Jul 2001 21:33:11 MET DST) NNTP-Posting-Date: Mon, 02 Jul 2001 21:33:11 MET DST Organization: Telenet Internet X-Received-Date: Mon, 02 Jul 2001 20:31:09 BST (newsr2.u-net.net)