从默认参数推导模板参数

Deducing template parameter from default parameter

本文关键字:参数 默认      更新时间:2023-10-16

为什么这个c++ 11程序不能工作呢?

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

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

14.8.2.5 [temp.deduct.type] :

19 -模板类型形参不能从函数默认实参的类型推导出来。[…]

给出的例子与你的基本相同