問題タブ [bad-alloc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
115 参照

c++ - std::bad_alloc が短い素数プログラムでスローされる

私はすぐに、エラトステネスのシーブを使用する素数プログラムを作成しました。プログラムを実行すると appcrash が発生します。私はそれをデバッグし、それは私に言ったstd::bad_alloc. デバッガーは、コードのどの行で例外が発生したかを教えてくれませんが、システム コードのどの行を教えてくれます。私のソースは以下の通りです。私はC ++に少し慣れていません。

また、悪いプログラミング手法も教えてください。

0 投票する
1 に答える
2189 参照

c++ - libc.so.6 C++ からの bad_alloc

gdb の下で Debian 7 64 ビット マシンの 4GB RAM に C++ プログラムを実行していて、Bad_alloc の問題が発生しました。gdb の下で実行してみてください。これはバックトレースです


これはRDFCFTreeのコンストラクタです:

これは、closedExtensionExplore 関数です。

この問題の原因をどのように理解できますか? どの変数?どうもありがとう

0 投票する
3 に答える
1583 参照

c++ - プログラムがクラッシュする - 新しい文字配列を作成するときの bad_alloc

区切り文字に遭遇したときに char 配列を複数の char 配列に分割する C++ 関数があります。何らかの理由で、3 番目の分割配列を保存すると、プログラムがクラッシュし、std::bad_alloc 例外が返されることがあります。

どの行ですべてがうまくいかないのかはわかりませんが、次の場所で発生すると思います

CodeBlocks 内でこの行をデバッグしようとしましたが、何らかの理由で、ブレークポイントを使用して変数を追跡すると、アプリケーションは正常に動作し、正しく実行されます。デバッグせずに通常どおり実行した場合にのみクラッシュします...

また、文字列や、fstream と iostream 以外のほとんどすべてのライブラリを使用できないことに注意してください。

編集:new char[garums]パーツをに変更してみましたがnew char[100]、魔法のように機能し始めました。問題は、私がそれを変更したことnew char[10]です。その場合、すべてがまだ機能していました。保存したテキストをコンソールに出力したところ、すべてが適切に保存されました。長い単語を 10 文字の長さの char 配列に保存するにはどうすればよいでしょうか (私がテストしている単語は 10 文字を超えています)。しかし、それを変更するとnew char[1]、再びクラッシュし始めましたが、3回目のループ反復の後でのみ再びクラッシュしました。それで、どういうわけか最初の 2 単語を 1 文字の長さの配列に保存しましたか?

EDIT2:そして今、魔法のようにでも動作し始めましたnew char[garums]. ここで何かが本当に間違っています。誰かアイデアはありますか?

0 投票する
3 に答える
8273 参照

c++ - std::bad_alloc 例外ではなく、「Invalid Allocation Size: 4294967295 Bytes」が表示されるのはなぜですか?

配列にメモリを割り当てるために、次のコードを書きました。

もちろん、負の値などについて n をチェックしていますが、536*(10^6) を超える大きな数値を入力すると、不正な割り当て例外は発生しませんが、「無効な割り当てサイズ: 4294967295 バイト」クラッシュが発生します。

EG n = 536*(10^6) と入力 --> 不良割り当て例外 n = 537*(10^6) と入力 --> 無効な割り当てサイズ: 4294967295 バイト --> クラッシュ

なぜこれが起こっているのですか?