从默认参数中推导模板参数

时间:2014-06-09 12:39:46

标签: c++ c++11

为什么这个C ++ 11程序不起作用:

template <typename T>
void f(T t = 42) {}

int main() { f(); }

为什么不能从默认参数T中推断出42

1 个答案:

答案 0 :(得分:5)

14.8.2.5 [temp.deduct.type]

  

19 - 无法从函数默认参数的类型推导出模板类型参数。 [...]

给出的示例与您的示例基本相同。