[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

[C++] *ptr-problemer



Ahoy!
(Ja, mit subject er ikke specielt beskrivende, men det var det bedste jeg
kunne op med)

Når ptr er en pointer til en istringstream, bør *ptr så ikke kunne bruge
dennes funktionalitet?
Problemet er fra Bjarne Stroustrups bog The C++ programming language[1] hvor
cin udskiftes med *input, der er en pointer til en istringstream (istream*
input)

Jeg mener at have fulgt eksemplet så godt som muligt, men da bogen er ret
fattig på egentlig kode, har jeg formentlig klokket i det et sted. Navnlig
der, hvor han angiver at forekomster af cin skal skiftes ud med *input. Jeg
har bare blindt udskiftet, men det var tydligvis ikke det rigtige at gøre.

gcc's kvabbabelser ser således ud:
$ g++ -Wall calculator.cpp
calculator.cpp: In function `Token_value get_token()':
calculator.cpp:103: error: request for member `get' in `input', which is of
non-class type `std::istream*'
calculator.cpp:120: error: request for member `putback' in `input', which is
of non-class type `std::istream*'
calculator.cpp:127: error: request for member `get' in `input', which is of
non-class type `std::istream*'
calculator.cpp:128: error: request for member `putback' in `input', which is
of non-class type `std::istream*'

Forståeligt nok, istream* er ikke det samme som istream, men hvad bør jeg så
i stedet have stående i min kode?
Koden ligger på http://pastebin.ca/422715


[1] Ja, jeg har set at andre ikke har været overmåde tilfredse med den, men
jeg vil nu alligevel give den et skud. Den er ret kodefattig, men det har
på den anden side tvunget mig til selv at finde på tingene.
-- 
//anders


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2007-05-01, 02:01 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *