質問
Thorugh Overflow関数のドキュメントに進む。オーバーフローには、返品値として次のようになっています。
返品値:
EOF(または他の特性の特性:: EOF())とは異なる値は成功します。
関数が失敗した場合、EOF(または他の特性の特性:: EOF())のいずれかが返されるか、例外がスローされます。
ソース :"http://www.cplusplus.com/reference/iostream/streambuf/overflow/"
誰もが、どのsceanriosが例外を介してオーバーフロー関数が行われているのか教えてもらえますか?どんな助けも感謝します
解決 3
私の問題のあるシナリオでは、次のアドレスをジャンプしていなかったため(SETP呼び出しが0で増加していた)、同じメモリ領域を使用するために再試行し、セグメンテーションの障害を与えていたため、ファル化していました。
他のヒント
StreamBufは、Streamの基礎となるストレージまたは通信チャネルの抽象化です。オーバーフロー()関数は、ストレージまたはチャネルが失敗する可能性がある理由で失敗する可能性があります。たとえば、ディスクファイルのディスクエラー、ソケットの接続の破損など。
ウィルクスは失敗を詳述したが(EOF
)条件、例外条件は次のいずれかです。 http://www.aoc.nrao.edu/php/tjuerges/alma/stl/html-3.4.6/classstd_1_1exception.html (どちらを推測できますか?:) - しかし、それは(明らかに)する必要があります std::overflow_error
独自の出力ストリームか何かを書いている場合。