无法将stringstream传递给构造函数

时间:2012-01-17 12:01:53

标签: c++ string compiler-errors stringstream

我正在使用SimpleINI将值转换为std::stringstream my_string; -

CSimpleIniCaseA::TNamesDepend::const_iterator i;
for (i = values.begin(); i != values.end(); ++i)
my_string << i->pItem <<"\n";
cout<<my_string.str()<<endl;

cout工作正常。我能够在控制台上打印值。

但是当我将此字符串steam传递给BOOST ASIO Server构造函数时,如此 -

server tcp(tcp_service,my_string.str());

我得到编译器错误 -

‘std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]’ is private

我能够传递其他数据类型,例如char *,但不能传递字符串蒸汽。有什么问题?

1 个答案:

答案 0 :(得分:1)

你说你做了类似

的事情
server tcp(tcp_service,my_string.str());

但是你将字符串传递给构造函数,而不是字符串流。 要么更改构造函数,要么从.str()

中删除my_string.str()