2012-03-20 9 views

答えて

3

0ポインタの関数を呼び出すことはできません。 削除操作として扱う必要がありますが、オブジェクト自体の関数なので、オブジェクトは機能しません。

+1

私は鈍いです:(私はちょうどポインタが0に等しいことを確認することができます。ありがとう:) –

+6

deleteLater()は:QCoreApplication :: postEvent(this、new QEvent(QEvent :: DeferredDelete));それは次に「予期しないヌル受信機」という警告を出力する。技術的にはクラッシュすることはありませんが、APIによって保証されていないので、それに頼るのは間違いです。 –

+0

一般的に、ヌルポインタの呼び出し関数は有効です。実際には、nullポインタを逆参照すると、これがクラッシュします。 'if(this == NULL)return;'のようなことをすれば、nullポインタ上でこのメソッドを呼び出すことは安全です。ポインタの比較は逆参照ではありません。 Qtでは、null受信者へのPostEventはクラッシュしないので、deleteLaterは警告だけをスローします。それは 'this'を逆参照しない。ポインタ。 '__thiscall'についてもっと読むこともできます –

関連する問題