我尝试执行以下操作:

wstring wStringStreamToWString(wstringstream uStream)
{
   wstring s(uStream.str());
   return s;
}

这给了我编译器错误
"C2248 std::basic_ios>_Elem,_Traits>::basic_ios: No access to private members whose declaration was done in std::basic_ios<_Elmen,_Trais>- class."

但是,如果我没有在单独的函数中执行此操作,则它将正常工作。
所以我想我在将wstringstream传递给函数时只是犯了一个错误,但是我看不到。

有人可以帮忙吗?

谢谢。

最佳答案

由于无法复制流,因此将参数传递给(未被修改的const)引用:

wstring wStringStreamToWString(wstringstream const& uStream)
{
    wstring s(uStream.str());
    return s;
}

尽管目前看来该功能似乎完全没有必要。

关于c++ - C++将wstringstream传递给另一个函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16132075/

10-11 23:24