我正在使用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 *
,但不能传递字符串蒸汽。有什么问题?
答案 0 :(得分:1)
你说你做了类似
的事情server tcp(tcp_service,my_string.str());
但是你将字符串传递给构造函数,而不是字符串流。
要么更改构造函数,要么从.str()
my_string.str()