Нет, таких типов нет.
Указатели функций могут быть надежно отнесены только к другим типам указателей функций (а затем, только разыменовываются, указывая на правильный тип функции).
Преобразование указателей на функции в целые числа в C покрыта 6.3.2.3/6:
Любой тип указателя может быть преобразован в тип целого числа. За исключением случаев, указанных ранее, результат определяется реализацией. Если результат не может быть представлен в целочисленном типе, поведение не определено. Результат не обязательно должен находиться в диапазоне значений любого целочисленного типа.
Обратите внимание, что даже если целочисленный тип достаточно велик, отбрасывание целых чисел и обратно на указатель функции не гарантируется для получения исходного указателя функции.
В C++ текст находится в [expr.reinterpret.cast] пунктах 4 и 6. Поведение аналогично, но оно явно гарантирует, что если существует целое число достаточного размера, то преобразование указателя функции в целое и обратно извлекает исходный указатель функции.
Существует не один тип «указатель на функцию» (каждый тип зависит от прототипа функции). –
Нет, их нет. –
Вы даже не можете преобразовать указатель на функцию 'void *'. Также C и C++ - разные языки. Пожалуйста, ограничьте свой вопрос одним из них. – Olaf