Templates can take non-type function pointer parameters, but there is a problem if all possible function pointer parameters are accepted, example:
void dummy() {
If you know the signature of the function you wish to call (and surely you do), can't you do
template void proxy() { F(); } void dummy() {} int main() { proxy(); }