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) を呼び出し、2 番目の関数が関数 add(int,char) を呼び出します。3 番目の関数呼び出しはエラーになるはずですが、関数 add(int,char) を呼び出します。誰でも理由を説明できますか。