#include <iostream>
#include <type_traits>
void func()
{
}
int main()
{
using T = const decltype(func) &;
using T2 = void (&)();
std::cout << std::boolalpha << std::is_same_v<T, T2> << std::endl;
}
Как вы объявляете const reference на тип функции? Вышеприведенное утверждение выводит true поэтому я предполагаю, что const в T каким-то образом игнорируется. Возможно ли вообще объявить const reference на тип функции?