模板实参推导实验室

把形参模式覆盖到实参类型上,观察哪些信息被保留、哪些发生退化,以及推导在哪一步停止。

C++17 · COMPILE TIME
推导成功

    显式实参对照:先确定 T,再做普通转换

    same_type(1, 2.0) same_type<double>(1, 2.0)

    左侧:同一个 `T` 分别推出 `int` 与 `double`,推导失败。
    右侧:`T` 已显式固定为 `double`,随后 `1` 可按普通调用规则转换为 `double`,调用成立。