无法将字符串流传递给构造函数

发布于 2024-12-27 16:29:49 字数 846 浏览 1 评论 0原文

我正在使用 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 *,但不能传递字符串 steam。怎么了?

I am using SimpleINI to get values into 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 is working fine. I am able to print values on console.

But when I pass this string steam to BOOST ASIO Server constructor like this-

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

I get below compiler error-

‘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

I am able to pass other data types like char *, but not string steam. What is wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷离° 2025-01-03 16:29:50

你说你做了类似的事情

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

但是你将一个字符串传递给构造函数,而不是字符串流。
更改构造函数,或从 my_string.str() 中删除 .str()

You said you did something like

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

But there you pass a string to the constructor, not a stringstream.
Either change your constructor, or remove the .str() from my_string.str()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文