トップページ > プログラム > 2015年09月27日 > jzpWzA1C

書き込み順位&時間帯一覧

6 位/177 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000021001010117



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Win32API質問箱 Build121 [転載禁止]©2ch.net

書き込みレス一覧

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
そういう意味の指摘ではないと思うがな


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。