Ваша проблема не в sstream
, а в следующей строке:
string info = "Name: " + name + "; age:" + age;
Все выглядит хорошо и хорошо до "; age:" + age
. Вы не можете добавить string
и int
. Вы можете использовать std::to_string
для преобразования int
в string
:
string info = "Name: " + name + "; age:" + to_string(age);
to_string
был добавлен в C ++ 11, но если по какой-либо причине вы не можете использовать C ++ 11, вы можете определить эту функцию самостоятельно, используя stringstreams:
template <typename T>
string to_string(const T &thing) {
std::ostringstream oss;
oss << thing;
return oss.str();
}
Также обратите внимание, что вы используете оператор извлечения на cout
. Вы, вероятно, имели в виду это:
cout << info << endl;