🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #13659

Re: Visual C++, MFC & STL

#13659
From: Sjoerd Schreuder
Date: Mon, 02 Jul 2001 17:18
62 lines
3159 bytes

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: <3B40AE85.A001A7A2@geodan.nl>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!194.8.194.95!news.netcologne.de!skynet.be!newshub1.nl.home.com!news.nl.home.com!dbsch1.home.nl.POSTED!not-for-mail
References: <uX007.11012$YS5.1068169@afrodite.telenet-ops.be> <3B409EAD.90749148@geodan.nl> <rW107.11276$YS5.1105303@afrodite.telenet-ops.be>

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 10:25:40 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!194.8.194.95!news.netcologne.de!skynet.be!newshub1.nl.home.com!news.nl.home.com!dbsch1.home.nl.POSTED!not-for-mail
Message-ID: <3B40AE85.A001A7A2@geodan.nl>
From: Sjoerd Schreuder <sjoerd@geodan.nl>
Organization: Geodan SDT b.v.
X-Mailer: Mozilla 4.7 [en] (WinNT; I)
X-Accept-Language: en,pdf
MIME-Version: 1.0
Newsgroups: be.comp.programming,nl.comp.programmeren
Subject: Re: Visual C++, MFC & STL
References: <uX007.11012$YS5.1068169@afrodite.telenet-ops.be> <3B409EAD.90749148@geodan.nl> <rW107.11276$YS5.1105303@afrodite.telenet-ops.be>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 62
Date: Mon, 02 Jul 2001 17:18:00 GMT
NNTP-Posting-Host: 212.203.16.29
X-Complaints-To: abuse@home.nl
X-Trace: dbsch1.home.nl 994094280 212.203.16.29 (Mon, 02 Jul 2001 19:18:00 MET DST)
NNTP-Posting-Date: Mon, 02 Jul 2001 19:18:00 MET DST