aggregate 'std:: stringstream out' имеет неполный тип и не может быть определен [C++] [закрыт]
Я новичок в c++ пожалуйста, помогите мне выяснить, что не так с этим
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();
3 ответов
кажется, вам не хватает 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;