よくプログラムで
if(FAILED(・・・)){
return E_FAIL;
}
と書いてある解説書があるのですが
もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?
また E_FAIL とは -1 みたいなものなのでしょうか?
プログラムの意味
Re:プログラムの意味
> もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?
もし・・・が失敗したら E_FAIL を実行している関数から返すという意味です。
(return の意味は理解していますか?)
> また E_FAIL とは -1 みたいなものなのでしょうか?
FAILED() マクロの定義を見ると、
つまり、 FAILED マクロは 値が負数なら失敗(真を返す)となりますが、
E_FAIL は -1 ではありません。(負数ではある)
もし・・・が失敗したら 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:プログラムの意味
> もし・・・が失敗したら E_FAIL を・・・に返すという意味でいいのでしょか?
> また E_FAIL とは -1 みたいなものなのでしょうか?
環境不明なので何ともいえません。
> また E_FAIL とは -1 みたいなものなのでしょうか?
環境不明なので何ともいえません。