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 に答える