这里的func调用的是哪个函数呢?为啥



```c++

int func(int &a,int& b)
{
  //代码块
}
int func(float a,float b)
{
  //代码块
}
char a=100;
char b=100;
func((int)a,(int)b);

这里的func调用的是哪个函数呢?为啥


```c++

int func(int a,int b)
{
  //代码块
}
int func(const intt a,const int b)
{
  //代码块
}
int a=100;
int b=100;
func((int)a,(int)b);
这里的func能重载吗,为什么呢

int func1(const int* a, const int* b)
{
    std::cout << "调用常量指针参数函数" << std::endl;
    return 0;
}
int func1(int* const a, int* const b)
{
    std::cout << "调用指针常量参数函数" << std::endl;
    return 0;
}

为什么这里能发生重载呢?这两个应该都是指针把,能不能发生重载有什么规律吗

都被强制转换成了为了int
用了引用作为参数,所以在函数内部对a和b的修改会反映到函数外部。