Узнать сигнатуру функции, переданную через указатель
Есть функция, принимающая указатель на функцию. Пусть это будет, void f(void(*)());.
Вопрос: Как узнать сигнатуру функции, адрес которой хранит указатель, или, как еще можно сказать, как различить две разные функции, переданные через этот указатель?
Если возможно, то желательно решить эту задачу в рамках C++14 и в рантайме