Cri*_*iss -1 c++
template<typename T> T f(T i) { return i+1; } int f(int i) { return i-1; } f(2);
这是未定义的行为(请注意,这int f(int)不是专业化)?如果是,那么请指出标准载有这种情况的地方.
int f(int)
R S*_*ahu 6
这里没有歧义.如果有一个f带有a 的调用,int只要两个声明在使用点都可见,就会始终选择非模板版本的重载.
f
int
Jar*_*d42 5
它不是UB,甚至不含糊,它只是重载决议:
两者都是完全匹配,但一个是模板函数,而另一个不是:
int f(int) 被选中.
归档时间:
7 年,1 月 前
查看次数:
52 次
最近记录: