void func(const char &a)
{
cout<<"non-const";
}
void func(char &a)
{
cout<<"const";
}
int main()
{
char p = '1';
func(p);
return 0;
}
此时func§调用的是非const的函数,而其实他与const的函数也是匹配的,但不是最佳。如果像下面没有非const函数,则将调用const的函数。
void func(char &a)
{
cout<<"const";
}
int main()
{
char p = '1';
func(p);
return 0;
}
此时调用的是非const的函数。
因为形参在初始化时,可以用非const的引用对象初始化const引用对象的。反过来不行
//const char ptr = '2';
//char &a = ptr;//报错
char ptr = '2';
const char &a = ptr;//这样时可以的