Ответ 1
Кажется, вам не хватает include для stringstream. Кроме того, у вас есть опечатка
out << end1;
должен читать
out << endl;
l
вместо 1
.
Я новичок в С++, помогите мне выяснить, что не так с этим
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();
Кажется, вам не хватает include для stringstream. Кроме того, у вас есть опечатка
out << end1;
должен читать
out << endl;
l
вместо 1
.
Вы:
#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>
вызывает точно такую же ошибку в моей системе, как и ваша первая ошибка.
Это строчная буква L
, а не 1
:
out << endl;
Я думаю, что @Bo прав, (извините и спасибо) измените его на std::stringstream out;