をWA_DeleteOnClose、私はオブジェクト継承のQWidgetを使用していて、それが閉じているときに知るためには、私がsetAttribute(Qt::WA_DeleteOnClose)
を使用しました、そしてただし削除するオブジェクト、セグメンテーションフォールト
connect(myObj,SIGNAL(destroyed(QObject*)),this,SLOT(handleFinish()));
を接続オブジェクトが削除されるとき、私はmunmap_chunk(): invalid pointer
を取得し、ポインタのアドレスを見ると、ポインタではないmyObjのデータメンバーの1つです。
ヒープ上にあることになっているので、私は、動的にこのmyobjを割り当てる - myObj = new myObj();
エラーがこのmyobjデストラクタの終わりに来て、私はこれはデストラクタが(見ての後に呼び出される初めてであることを確認しましたWhen setting the WA_DeleteOnClose attribute on a Qt MainWindow, the program crashes when deleting the ui pointer)。
それに対処するための提案はありますか?
'handleFinish()'スロットが呼び出されますか?あなたはあなたの記憶を傷つけています。私はあなたが[MCVE](https://stackoverflow.com/help/mcve)を提供しない限り、この質問は答えられないと思います。デストラクタから文を一時的に削除したり、オブジェクトが破棄されたときに破棄されるメンバデータを削除したりして、問題を切り分けてください。また、コメントアウトされたときにクラッシュが発生しないようにするステートメント/メンバ変数を観察してください。 – Mike