- 【初心者歓迎】C/C++室 Ver.92【環境依存OK】
96 :デフォルトの名無しさん[sage]:2014/08/07(木) 11:01:52.77 ID:7UtLjkdT - 関数ポインタpFuncがNULLならpDummyFuncを呼びたいんだけど
pDummyFuncがクラスのメンバ関数の場合どうすればいいかな?
|
- C/C++の宿題片付けます 167代目
864 :デフォルトの名無しさん[sage]:2014/08/07(木) 12:21:32.24 ID:7UtLjkdT - >>863
あなたの単位無しにしておきますね
|
- 【初心者歓迎】C/C++室 Ver.92【環境依存OK】
99 :デフォルトの名無しさん[sage]:2014/08/07(木) 13:03:07.98 ID:7UtLjkdT - >>98
ありがとう 関数ポインタpfuncがNULLの場合何もしないようにするのはどうすればいいかな typedef VOID (WINAPI *Sample)(VOID) ((Sample)pfunc)() この場合 if(pfunc == NULL) { ((Sample)pfunc)() } とするしかない? というのは呼ぶ時に分岐するんじゃなくて内部で分岐させるために1つ関数挟んで BOOL check(result, pfunc) { if(pfunc == NULL) { return FALSE; } result = pfunc; return TRUE; } if(((Sample)check(&result, pfunc))() == FALSE){ //nullだった } どうにかしてこんな感じにできないかな
|
- 【初心者歓迎】C/C++室 Ver.92【環境依存OK】
100 :デフォルトの名無しさん[sage]:2014/08/07(木) 13:17:50.40 ID:7UtLjkdT - 前半
正 if(pfunc != NULL) 誤 if(pfunc == NULL)
|
- 【初心者歓迎】C/C++室 Ver.92【環境依存OK】
102 :デフォルトの名無しさん[sage]:2014/08/07(木) 14:18:26.01 ID:7UtLjkdT - >>101
わかりにくくてごめん やりたい事としては check(result, pfunc) // 引数を指定してpfuncを渡したい →pfuncがNULLならFALSEを返す →pfuncがNULLじゃなければpfuncを実行してpfuncの戻り値をresultへ格納してTRUEを返す でこのpfuncの戻り値・引数の型や数は一定ではない こんな場合checkを呼ぶ時点でpfuncの引数を指定するのはどうやったらできる? 自分でも意味わからんようになってきたわ
|
- 【初心者歓迎】C/C++室 Ver.92【環境依存OK】
106 :デフォルトの名無しさん[sage]:2014/08/07(木) 21:02:01.27 ID:7UtLjkdT - >>103
ありがとう! >>105 VC++でも macro(value1, ...) sample(value1, __VA_ARGS__)でできるよ
|