我正在尝试执行此模板实例化,但它不起作用。我收到错误:
prog.cpp:7:15: error: template-id 'f<const A&, A()>' for 'void f()' does not match any template declaration
template <class T, T> void f() {}
struct A {};
template void f<const A &, A()>();
int main() {}
这很奇怪,因为当我在 main 中执行此操作时,它可以工作:
int main() {
const A &a = A(); // no error
}
那么为什么它在模板行中不起作用呢?