Например:Почему я не могу использовать оператор << << в операторе return?
std::stringstream formatMemUsage(...) {
std::stringstream ss ...
...
return ss << "MB"; // Error here
}
приводит к ошибке no suitable user-defined conversion from "std::basic_ostream<char, std::char_traits<char>>" to "std::stringstream" exists
.
I может разделить оператор возврата на 2 утверждения ss << "MB"; return ss;
и ошибка исчезнет - почему?
(с использованием MSVC++ 2010)
'' 'перегружен в stringstream для возврата' ostream & '. попробуйте лить. –
Вы можете. Правильно используйте наследование и возвращайте 'std :: ostream &'! –
@LightnessRacesinOrbit: Он не может, так как это приведет к возврату ссылки на локальный объект! – MFH