int add(int a,int b)
{
cout<<"1"<<endl;
return a+b;
}
int add(int a,char c)
{
cout<<"2"<<endl;
return a+c;
}
int main()
{
cout<<add(10,20)<<endl; //1
cout<<add(10,'a')<<endl; //2
cout<<add('a','b')<<endl; //3
}
在上面的代码中,第一个函数调用函数 add(int,int),第二个函数调用函数 add(int,char)。第三个函数调用应该导致错误,但它调用函数 add(int,char)。任何人都可以解释为什么。