对于普通函数:void fun(double );
如果这样调用:fun(2);会发生隐式转换 int->double的提升.
我们都知道c++的常规name mangling规则,根据函数名和参数进行mangling。

编译时刻是怎么决议调用哪个函数的?
是不是这样:
fun(int):mangling后查找,未找到
提升int->double
mangling后查找。
根据c++标准转换规则依次转换后(每次都要mangling),然后对比?????

还是先匹配函数名->然后查看参数,不匹配则进行转换并查找到->->然后再mangling后再调用函数????