Подтвердить что ты не робот

Aggregate 'std:: stringstream out' имеет неполный тип и не может быть определен [С++]

Я новичок в С++, помогите мне выяснить, что не так с этим

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();
4b9b3361

Ответ 1

Кажется, вам не хватает include для stringstream. Кроме того, у вас есть опечатка

out << end1;

должен читать

out << endl;

l вместо 1.

Ответ 2

Вы:

#include <sstream>

Кроме того, вторая строка должна быть endl (nb: нижний регистр L), а не end1 (номер один).

Код ниже компилируется и корректно работает с g++ 4.2.1 на MacOS X

#include <iostream>
#include <sstream>

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

Опускание #include <sstream> вызывает точно такую ​​же ошибку в моей системе, как и ваша первая ошибка.

Ответ 3

Это строчная буква L, а не 1:

out << endl;

Я думаю, что @Bo прав, (извините и спасибо) измените его на std::stringstream out;