void (*foo)(int);
static bar(void (*foo)(int))
{
}

bool (*comp_func)(const TypeA*const a, const TypeB& value) = NULL;
static foo(bool (*comp_func)(const TypeA*const a, const TypeB& value));
static foo(bool (*comp_func)(const TypeA*const a, const TypeB& value) = NULL)
{
}

void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const TypeA* lhs, const TypeB& rhs));
void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const TypeA* lhs, const TypeB& rhs) = NULL)
{
}
