クラス A のインスタンスが破棄され、クラス B (A からの destroy() のスロットがある) のインスタンスに destroy() のシグナルを送ろうとすると、セグメンテーション違反でクラッシュする Qt アプリケーションがあります。破壊が発生している間、クラッシュの直前に、次のようになりました。
destroy() の発行中に ~QObject で予期しない例外が検出されました。
次に、次のバックトレースによるセグメンテーション違反:
#0 0x0000000000 in ??
#1 0x35b9b0117a in QObject::~QObject() ...
これは何を意味するのでしょうか?私たちはどのような期待について話していますか?破壊プロセスでは、A と B の両方が最終的に破壊される可能性がありますが、私が理解しているように、信号は破壊時に切断されるため、破壊の順序は重要ではありません。