在不调用函数的情况下将模板参数应用于函数?

Apply template arguments to function without calling function?

如何仅将模板参数应用于需要模板参数的函数,而不隐式地调用具有零参数的函数?我想要一个函数或委托指针而不是一个值。

void foo(T)(double x) {}

auto bar() {
    return foo!(int);
}
hack.d(36): Error: function hack.foo!int.foo(double x) is not callable using argument types ()
hack.d(36):        missing argument for parameter #1: double x

如果你有一个普通的函数

void foo() {}

你想要一个指向它的函数指针,你会怎么做?

&foo

现在,假设您有一个模板:

void foo(T)() {}

并想要一个指向特定实例的指针...此时您可能会猜到 :)

&foo!arg