[過去ログ] C++相談室 part164 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
266(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ 0d3e-C6j3) [sage] 2023/06/20(火) 22:21:49.81 ID:IIzrqfbq0(3/5) AAS
>>264
渡されたコールバック関数の引数の数によって区別するってこと?
素朴な方法だとオーバーロードするのが手っ取り早いと思う。
void func(void (*cb)(int)) {
cb(1);
}
void func(void (*cb)(int, int)) {
cb(1, 2);
}
void f1(int) {}
void f2(int, int) {}
int main() {
func(f1);
func(f2);
}
280(1): デフォルトの名無しさん (ワッチョイ 8101-1tDD) [sage] 2023/06/21(水) 00:28:02.40 ID:CWKUsltc0(1/3) AAS
>>279
>>266と本質的に何が違うのか分からない
解説よろしく
(templateでやってることは無駄なのでは?)
281(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 0d3e-C6j3) [sage] 2023/06/21(水) 00:41:42.51 ID:3HBFHOpK0(1/5) AAS
>>280
いや、 >>279 のほうがちょっと柔軟で使いやすい。
たとえば
void f3(long int, long int) {}
みたいなのを渡したとき >>266 ではエラーになる。
引数として int を渡せる (int から暗黙に変換可能な仮引数を持っている) というのと
厳密に int そのものでなければならないというのとでは制約の厳しさが違う。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s