模板专门化与int一起使用,并且以double作为类失败

Paw*_*zur 7 c++ templates

我有一个以下简单的模板:

template<class T, T N>
bool VerifyGT(T value) {
  return value > N;
}

bool (*test1)(int) = &VerifyGE< int, (int) 0>;  // (1)
bool (*test2)(double) = &VerifyGE< double, (double) 0.0>;  // (2)
Run Code Online (Sandbox Code Playgroud)

编译时:test1初始化成功,test2失败,"不匹配所需类型".有任何想法吗?

Rei*_*ica 10

非类型模板参数不能是浮点类型.只允许使用整数类型,枚举,指针和引用.