Невозможно передать поток строк в конструктор - PullRequest
0 голосов
/ 17 января 2012

Я использую 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;

Кут работает нормально. Я могу печатать значения на консоли.

Но когда я передаю эту строку 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 *, но не string Steam. Что не так?

1 Ответ

1 голос
/ 17 января 2012

Вы сказали, что сделали что-то вроде

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

Но вы передаете строку конструктору, а не потоку строк. Либо измените конструктор, либо удалите .str() из my_string.str()

...