Я пробовал шаблон, и синтаксис класса шаблона для меня очарователен, я мог бы подумать о том, как плохо практиковать std :: function в то время.
, но ... как насчет указателя на функцию ?
Кажется, следует форматировать их в управляемый тип шаблона,
, что лучше, поскольку указатель функции обычно может быть только косвенным объявлением.
fptr<int()> array_of_main[42];
, поэтому я попробовал кое-что ниже:
template<class T,class... U>
using fptr<T(U...)>=auto (*)(U...)->T;
происходит сбой, похоже, что компилятор не специализирует шаблоны на псевдонимах.
Еще один недостаток:
template<class T,class... U>
using fptr=auto (*)(U...)->T;
auto main()->int
{
fptr<int,int> a[7];
fptr<void,int> b[7];
}
ну, не хорошо, я все еще не могу объявить fptr какой параметр пуст. и прежняя неприязнь показала нам, что специализация на самом деле не работает над этим.
так, как сделать возможными fptr<int,void>
и fptr<void,void>
?
может ли специализация шаблона работать с ключевым словом "using"?
и почему «В замене шаблона» void не может применяться к U...
?