プログラムの意味

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

プログラムの意味

#1

投稿記事 by » 16年前

よくプログラムで
if(FAILED(・・・)){
return E_FAIL;
}
と書いてある解説書があるのですが
もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?
また E_FAIL とは -1 みたいなものなのでしょうか?

御津凪

Re:プログラムの意味

#2

投稿記事 by 御津凪 » 16年前

> もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?

もし・・・が失敗したら E_FAIL を実行している関数から返すという意味です。
(return の意味は理解していますか?)

> また E_FAIL とは -1 みたいなものなのでしょうか?

FAILED() マクロの定義を見ると、
#define FAILED(hr) (((HRESULT)(hr)) < 0)
となっており、また E_FAIL の定義は、
#define E_FAIL                           _HRESULT_TYPEDEF_(0x80004005L)
となっています。
つまり、 FAILED マクロは 値が負数なら失敗(真を返す)となりますが、
E_FAIL は -1 ではありません。(負数ではある)

たかぎ

Re:プログラムの意味

#3

投稿記事 by たかぎ » 16年前

> もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?
> また E_FAIL とは -1 みたいなものなのでしょうか?

環境不明なので何ともいえません。

閉鎖

“C言語何でも質問掲示板” へ戻る