7

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

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)

编译时:test1 初始化成功,test2 失败并显示“与所需类型不匹配”。有任何想法吗?

4

1 回答 1

10

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

于 2013-06-17T14:56:53.527 回答