ostream to ostringstream (downcasting) в C ++ с помощью Qt & amp; MVC

Мне нужно преобразовать объект ostream в объект ostringstream.
Это код:

//gerarchia_view.h
class bagaglio_view{
private:
std::ostream& os;
std::string data;
public:
bagaglio_view();
std::string print_bagaglio(const bagaglio &b) const;
};

//gerarchia_view.cpp
bagaglio_view::bagaglio_view():data(" "),os(std::cout){
}

std::string bagaglio_view::print_bagaglio(const bagaglio& b) const{
os<<b; // operator << is overloaded
std::ostringstream* oss=static_cast<std::ostringstream*>(&os);
return oss->str(); // down-cast, segm fault
}

Мне нужна функция

std::string bagaglio_view::print_bagaglio(const bagaglio& b) const;

вернуть строку, которая находится в std :: ostream os.
Как я могу решить это? Я попытался dynamic_cast и использовать std :: ostringstream в замене std :: ostream, но оператор<< не работает

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector