将重载函数转换为函数指针的元组的方法

时间:2018-06-23 19:48:53

标签: c++ tuples c++14 overloading function-pointers

假设我有一个像这样的重载函数集:

void foo(int);
void foo(float);
void foo(double);

我想做的是创建一个指向每个函数的函数指针的元组:

auto ptrs = std::make_tuple(static_cast<void (*)(int)>(foo),
                            static_cast<void (*)(float)>(foo),
                            static_cast<void (*)(double)>(foo));

但是我不想不必指定每个重载.....我真正想要的是说这样的话:

auto ptrs = magic_function(foo);

magic_function在何处找出所有超载是什么,并根据该信息采取行动。......

这可能吗,还是一厢情愿?

0 个答案:

没有答案