У меня странное поведение со строками. Кажется, что, если я создам два строковых потока, один будет писать правильно, а один вызовет ошибки. (Тест является символ *)Несоответствующие строковые ошибки
ostringstream s;
ostringstream d;
s<<test<<endl;
d<<test<<endl;
Это дает сообщение «Ошибка: недопустимые операнды ВНУТРА типов и„Const символ *“в двоичный„оператора < <“» для последней строки.
ostringstream s;
ostringstream d;
d<<test<<endl;
d<<test<<endl;
Это дает сообщение «Ошибка: недопустимые операнды ВНУТРА типов и„Const символ *“для бинарной„оператора < <“» для обоего линий пишущих д.
Два потока должны быть одинаковыми, поэтому я не знаю, почему d не работает. Переключение порядка деклараций s и d ничего не меняет. У кого-нибудь есть идеи, почему это может случиться?
Спасибо!
Создайте минимально возможную полную программу, которая демонстрирует эту ошибку и публикует ее. http://sscce.org –
Можем ли мы увидеть точные данные переменной 'test'? Я запустил этот код, используя string test = 'test'; и d << test.c_str() << endl; и у него не было проблем. –
Извините всех, я глупо затенял переменную, исправленную сейчас! Спасибо за вашу помощь! – akroy