0
这是由C一个锻炼++入门第5版:模板函数参数扣
template<typename T>
void f1(T, T){}
int i = 0, *p1 = &i;
const int *cp1 = &i;
f1(p1, cp1);
但是编译器会产生一个错误:为什么错误包括点参考
no matching function for call to 'f1(int*&, const int*&)'
我不知道?我认为参数推导是'f1(int *,const int *)'。
只有当**参数类型是* universal reference *时才适用**规则**吗? –
@DeanSeo我认为你不理解。我的答案与模板论证扣除无关。这只是关于GCC如何选择在诊断消息中显示某些信息。 – Brian
对不起。是的,我再读一遍,你是对的。 :) +1。 –