18

I am new to c++ please help me figure out what is wrong with this

string c;
stringstream out; //aggregate 'std::stringstream out' has incomplete type and cannot be //defined
out << it->second;
out << end1;//'end1' was not declared in this scope
c = out.str();
Aquarius_Girl
  • 21,790
  • 65
  • 230
  • 411
Technupe
  • 4,831
  • 14
  • 34
  • 37

3 Answers3

30

Did you:

#include <sstream>

Also, the second to last line should be endl (nb: lower-case L) not end1 (number one).

The code below compiles and works correctly with G++ 4.2.1 on MacOS X

#include <iostream>
#include <sstream>

int main() {
        std::stringstream out;
        out << "foo" << std::endl;
        std::string c = out.str();
        std::cout << c;
}

Omitting the #include <sstream> causes exactly the same error on my system as your first error.

Alnitak
  • 334,560
  • 70
  • 407
  • 495
5

It's an lowercase L and not 1:

out << endl;

I think @Bo is right, (sorry and thanks) change it to std::stringstream out;

karlphillip
  • 92,053
  • 36
  • 243
  • 426
3

You seem to be missing an include for stringstream. On top of that you have a typo

out << end1;

should read

out << endl;

l instead of 1.

nathan
  • 5,513
  • 4
  • 35
  • 47