Alex Rivera | Logout

aggregate 'std::stringstream out' has incomplete type and cannot be defined [C++]

Asked 2011-04-21T20:47:52.333
19

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();
Edit
Report

1 Answer

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.

answered 2011-04-21T20:49:45.563

Your Answer