| delorie.com/archives/browse.cgi | search | 
| From: | "Mostyn Lee" <mostyn AT ibc DOT com DOT au DOT SPAM> | 
| Newsgroups: | comp.lang.c++,comp.os.msdos.djgpp | 
| Subject: | passing istringstream as istream in param | 
| Lines: | 43 | 
| X-Priority: | 3 | 
| X-MSMail-Priority: | Normal | 
| X-Newsreader: | Microsoft Outlook Express 5.00.2615.200 | 
| X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2615.200 | 
| Message-ID: | <f6Yt5.55$t42.3484@nsw.nnrp.telstra.net> | 
| Date: | Fri, 8 Sep 2000 10:26:19 +0800 | 
| NNTP-Posting-Host: | 203.24.93.75 | 
| X-Complaints-To: | abuse AT telstra DOT net | 
| X-Trace: | nsw.nnrp.telstra.net 968379915 203.24.93.75 (Fri, 08 Sep 2000 13:25:15 EST) | 
| NNTP-Posting-Date: | Fri, 08 Sep 2000 13:25:15 EST | 
| Organization: | Customer of Telstra Big Pond Direct | 
| To: | djgpp AT delorie DOT com | 
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp | 
| Reply-To: | djgpp AT delorie DOT com | 
i used flex to generate a parser c++ class, and this class requires a
istream * as its parameter
yyFlexLexer::yyFlexLexer( istream* arg_yyin, ostream* arg_yyout )
i need to parse from a character buffer, and have created a istringstream.
the object will not accept the istringstream as a valid type parameter.
i am using visual c++ 6.0 with a GNU flex generated class
#include <iostream>
#include <string>
#include <sstream>
// ....
using namespace std;
// ....
  string constructstring = ReturnsAString();
  istringstream lexingstream(constructstring);
  lexingstream << constructstring;
   yyFlexLexer myyyFlexLexer(&lexingstream, std::cout);
// ....
gets the error :
error C2664: '__thiscall yyFlexLexer::yyFlexLexer(class istream *,class
ostream *)' : cannot convert parameter 1 from 'class
std::basic_istream<char,struct std::char_traits<char> > *' to 'class istream
*'
i have tried several things
: i have tried to declare a istream to copy the data into, but i always get
an "ambiguous symbol `istream` " error
: i have tried using various `using` and direct (std::istream) methods, but
all have errors
do I need some sort of casting?
am I #including something wrong?
why cant I just declare,
        istream streamname;
| webmaster | delorie software privacy | 
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |