Then first you need to learn a good learning-by-Google methodology, not to ask questions on each compiler error. That's not an insult. People get tired of answering basic questions that are already answered. As an exercise, do try to use Google now to learn that istringstream comes from <sstream>, by watching examples on any C++ reference page, or piece of code.
Furthermore, usually only the first error line counts. You don't need to post the entire compiler's error. Especially if the error concerns STL classes, as the part below is meaningless:
Code:
(...)
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Alloc=std::allocator<char>
1> ]
I would presume that sstream would be analogous to iostream?
Yes, they are all streams and provide the same basic functionality, accessible with >> or <<.
istringstream, same as
ifstream, sharing the same base class - istream, provides only input functionality with >> (from the PC perspective), while ostringstream, ofstream, with base class ostream, provides only output functionality with <<.
stringstream and fstream, deriving from both istream and ostream, have both functionalities.
The limitation of choosing ifstream, instead of fstream is performed by a defensive coder for the purpose of promising not to write to a stream, which is supposed to not be changed (like when only reading a configuration file)
For more details, check the reference:
http://en.cppreference.com/w/cpp/io/basic_stringstream
Also note, that since the final streams derive from ostream or istream, you can use them in generic handlers, expecting basic streams as parameters, to do some work. This way you guarantee the same system's behavior, whether the input string is entered by user with cin (console input stream), or ifstream (file input stream, for example a config file). You can even define your own rules like that with inheritance, and usage of such generic rules with final classes' implementation unknown to the handler is called polymorphism, but you should leave it for the dessert. However polymorphism, templates, and design patterns are the paradigms that make Object Oriented Programming worthwhile.
And probably even more important is, that they are shared in all major languages - C#, Java and JavaScript. This means, that if you learn it once, you will be able to program anything in any company.