ページ 1 / 1
プログラムの意味
Posted: 2008年11月16日(日) 17:30
by 綾
よくプログラムで
if(FAILED(・・・)){
return E_FAIL;
}
と書いてある解説書があるのですが
もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?
また E_FAIL とは -1 みたいなものなのでしょうか?
Re:プログラムの意味
Posted: 2008年11月16日(日) 17:45
by 御津凪
> もし・・・が失敗したら 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:プログラムの意味
Posted: 2008年11月16日(日) 18:05
by たかぎ
> もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?
> また E_FAIL とは -1 みたいなものなのでしょうか?
環境不明なので何ともいえません。