2

我尝试执行以下操作:

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 传递给函数时,我只是犯了一个错误,但我看不出是哪个。

有人可以帮忙吗?

谢谢你。

4

1 回答 1

4

通过(const因为它没有被修改)引用传递参数,因为流是不可复制的:

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

尽管就目前而言,该功能似乎完全没有必要。

于 2013-04-21T14:32:24.847 回答