このC ++エラーstd :: length_errorの意味は何ですか
-
19-09-2019 - |
質問
私のプログラムを実行している間、私はこのエラーを取得します:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Abort trap
コードなしでは多くのことはできないことを知っていますが、このエラーはコードの深すぎてすべてをコピーするには深すぎると思います。このエラーが何を意味するのか理解できれば、それを理解できるかもしれません。これは、間違ったメモリアドレスで読み書きの問題の兆候ですか?
私のプログラムから問題に関するより多くの情報を得るために私ができることはありますか?
解決
つまり、std :: string :: max_size()よりも大きな文字列を作成しようとしました。
http://msdn.microsoft.com/en-us/library/as4axahk(vs.80).aspx
操作が最大サイズより大きい長さの文字列を生成すると、型の長さのクラスの例外がスローされます。
他のヒント
私はこれが古い質問であることを知っていますが、私は同じ問題に遭遇しました。 GCCでLinuxを使用します。
関数を分解することで、コードに多くのジャンプが示されましたが、例外がスローされていましたが、これはそこにあるはずです。最終的に、きれいなビルドが私にとって問題を解決しました。
これは、VS2005のデバッグモードのエラーです。リリースモードに変更すると、すべてが機能します。
さて、VCデバッグランタイムはこれを引き起こします、それだけです。
所属していません StackOverflow