13

関数を大きなループで繰り返し実行しようとしていますが、2 回または 3 回の反復後にエラーが発生しますが、エラーが発生した時点から開始すると正常に動作しますが、3 回 4 回の反復後に再び停止します。メモリの問題かもしれません。関数が非常に大きいため、メモリリークが正確にどこにあるのかわかりません。とにかく、各反復またはこの問題を解決できる何かの後に変数を解放できますか? または、リンクされたリストのメモリの問題として、すべてのリンクされたリストまたは何かを解放しますか?解決策は何ですか? 関数を一度実行しても問題は発生しないので、関数をループで繰り返し呼び出しているためだと思います。この問題を解決する方法はありますか?

エラーは

**glibc detected:.....malloc():smallbin double linked list corrupted: 0x000000000 1d404c0 ***
4

2 に答える 2

0

警告: 非常に特殊な使用例

QObjectQt で作成されたアプリケーション内で、コピー コンストラクターを持つオブジェクトから派生したオブジェクトへのポインターを使用していたときに、この問題が発生しました。コンパイル中に次の警告を見落としていました。

warning: base class ‘class QObject’ should be explicitly initialized in the copy constructor [-Wextra]

QObject派生オブジェクトはコピーされるべきではないことが判明しましたが、派生クラスのコピー コンストラクターQObjectがこの種のエラーを引き起こすとは予想していませんでした。

于 2016-11-24T13:43:19.880 に答える