のは、私はいくつかのクラス型ptrClassであることがポインタ変数を定義しましょう文でないワンセグ断層場合行いますなぜこれが[C++]
ptrClass *ptr;
とのこのptrClass
は、A返すget()
と呼ばれるメンバ関数を持っているとしましょうポインタは何も指していません。
我々がやるそうだとすれば:
ptr->get();
これはワンセグ障害につながります。
ただし、if(ptr->get())
を実行しても、segフォールトは発生しません(if文は実行されません)。誰かがなぜこれに当てはまるか説明できますか? if文の条件を確認するには、プログラムがptr->get()
を実行しないため、segaultが発生しますか?
エラーを再現する最小限のサンプルコードを表示できますか?私たちはptrClassについて何も知らない – KABoissonneault
あなたは、サンプルがうまくいくことを証明する、未定義の 'ptrClass * ptr;'ポインタを逆参照している**未定義の動作**を持っているだけです。 –
'ptr-> get()'を使うことは、 'ptr'が有効なオブジェクトを指していないときの動作は未定義です。未定義の行動を理解しようとするのは無意味です。定義上、定義されていません。何でも起れる。 –