c++ - Why does calling std::stringstream's good() through a pointer lead to crashes? -
i having problems stringstream object. class has input stream member. checking if obj->istream , after thatn if obj->istream->good().
the stream exists call good() crashes. in visual studio 2005. clue?
how reset istream?
if (soap->is) { if (soap->is->good()) return soap->is->read(s, (std::streamsize)n).gcount(); return 0; }
that code gsoap framework
std::istringstream in_stream; in_stream.str("a buffer"); soap->is = &in_stream;
the in_stream goes out of scope, belongs local stack, ->is->good() called outside function when in_stream no longer exists.
this indicates is
member not point stringstream
. might initialized garbage value when enclosing object instantiated.
if testing pointer being zero, make sure it's set 0 in constructor (and reset 0 if ever detach stream).
Comments
Post a Comment