dポイントプレゼントキャンペーン実施中!

あるポインタがあって、そのポインタが「不適切かどうか」で条件分岐させたいのですが、そんなことってできるでしょうか??
ポインタの指す値で評価しようとすると、不適切なポインタの場合はエラーになってしまいますので、もちろんできません。

A 回答 (2件)

例外ハンドラを記述して、例外エラーを検出して下さい。



例外ハンドラの記述方法は処理系により異なるので、残念ながら具体例は示せません。
    • good
    • 0
この回答へのお礼

例外処理ですね。
使ったことがなかったのでちょっと調べてみましたが、これでいけそうです。ありがとうございます。
ただ、上の方のご指摘にあるようにそもそも良くないことが明らかなので、全体を1から再考してみます。

お礼日時:2006/08/07 13:30

# 本来的には不適切にならないようにNULL初期化などを正しく行うべきであり、


# NULLでないポインタが不適切かどうかを正しく判断することは通常できません。
# 不定なポインタの内部を参照した時点で不定動作。
# よって、それに基づいての分岐処理は不適切といえます。

なお、環境依存(Windows用)ですが、デバッグ機能として例えば以下のような"不完全な"チェック関数は存在することがあります。
IsBadCodePtr, IsBadReadPtr, IsBadStringPtr, IsBadWritePtr

※このAPIは、条件に適合する場合にデバッガを起動しようとします。
    • good
    • 0
この回答へのお礼

ありがとうございます。
確かにご指摘のとおりそもそも不適切な処理かもしれません。
全体を再考してみます。

お礼日時:2006/08/07 13:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!