使用Qt& C在C ++中ostream到ostringstream(向下转换) MVC

时间:2016-03-04 18:49:44

标签: c++ qt stream downcast

我需要在ostringstream的对象中转换ostream的对象。 这是代码:

//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 :: ostream的替换中使用std :: ostringstream,但是运算符&lt;&lt;不起作用。

0 个答案:

没有答案