- Win32API質問箱 Build121 [転載禁止]©2ch.net
207 :デフォルトの名無しさん[sage]:2015/09/27(日) 14:41:59.45 ID:jzpWzA1C - この話題も定期的に出るなwww
|
- Win32API質問箱 Build121 [転載禁止]©2ch.net
215 :デフォルトの名無しさん[sage]:2015/09/27(日) 14:59:07.04 ID:jzpWzA1C - そもそもエラーだからメッセージループ抜けるってのが横暴だ
ちゃんとGetLastErrorさんの話を聞かないとな
|
- Win32API質問箱 Build121 [転載禁止]©2ch.net
222 :デフォルトの名無しさん[sage]:2015/09/27(日) 15:57:22.56 ID:jzpWzA1C - >>216
そのMSも-1はTRUEと明言しているよ > -1(0xFFFFFFFF、つまり TRUE)が返った場合 ~~~~~~ >>217 「例えば」だから、エラーの原因がそれだけという保証がない
|
- Win32API質問箱 Build121 [転載禁止]©2ch.net
227 :デフォルトの名無しさん[sage]:2015/09/27(日) 18:24:33.95 ID:jzpWzA1C - >>224
何言っているのか(何を言いたいのか)分からん >MSDNにはただ単にエラーの時-1を返すとしか書いてない C言語の仕様という意味であっても、 -1 がTRUEであると書いている(MSが認めている) で話を戻して、 >BOOLなのに真とも偽とも明言されてない エラーの場合は-1を返す MSDNで-1は「つまりはTRUE」と書いているんだから エラーの場合も真を返すと明言しているわけだ 関数の仕様としておかしいとしても「意味の上で」なら真か偽かははっきりしているだろ
|
- Win32API質問箱 Build121 [転載禁止]©2ch.net
232 :デフォルトの名無しさん[sage]:2015/09/27(日) 20:02:19.00 ID:jzpWzA1C - 戻り値の説明には、WM_QUIT 以外のメッセージなら0 以外の値、WM_QUIT なら 0 、エラーなら-1が返ると書いてある
MSがTRUEを1と定義しているかどうかに関係なく、式評価で0以外なら真、0なら偽と分かっているんだから WM_QUIT 以外のメッセージ、もしくはエラーなら「真」で、WM_QUIT なら「偽」ってだけだろ そもそも戻り値がBOOLと書かれているが、TRUEとして定義した1ではなく 「0 以外の値」 と言っている時点で MSの定義したTRUE 1 ってのがただの便宜上のものだと分かると思うが つまり関数としての戻り値は「WM_QUIT以外の『真』」か「WM_QUITの『偽』」の2値 あとは「WM_QUIT以外の『真』」にエラーも含ませるのはどうよって話ではあるが、 そもそも関数の戻り値からしてそれは成功失敗を表現しているわけではないのだから エラーの-1は真として分類されている
|
- Win32API質問箱 Build121 [転載禁止]©2ch.net
235 :デフォルトの名無しさん[sage]:2015/09/27(日) 22:13:58.95 ID:jzpWzA1C - >TRUEがどんな値でもいいが常にその値でなければならない
その思考の結果が if(func()==TRUE) ... みたいなものじゃね? >文脈によって0以外の値が変動する戻り値にBOOL型を当てるのはやはりおかしい こっちは同意
|
- Win32API質問箱 Build121 [転載禁止]©2ch.net
240 :デフォルトの名無しさん[sage]:2015/09/27(日) 23:07:01.32 ID:jzpWzA1C - そういう意味の指摘ではないと思うがな
|