gpt4 book ai didi

c++ - 程序在函数重载中的工作

转载 作者:太空宇宙 更新时间:2023-11-04 16:15:42 24 4
gpt4 key购买 nike

我想问一下为什么这个程序不会产生编译时错误?

int Add(int x, int y){
return (x+y);
}

double Add(double x, double y, double z){
return (x+y);
}

int main()
{
cout<<Add(5,6);
cout<<Add(5.5,6.6);
return 0;
}

最佳答案

Add(5,6); 调用 int Add(int x, int y)。这很清楚。

现在 Add(5.5,6.6) 寻找合适的匹配函数。它找到一个有两个参数的和一个有三个参数的。现在它检查它是否可以使用带有两个参数的函数。事实上,它可以将 double 转换为 int。所以它再次使用 int Add(int x, int y)

如果您提供 double Add(double x, double y),它会找到两个带有两个参数的函数,并检查哪个函数“最匹配”。这将是 double Add(double x, double y)

关于c++ - 程序在函数重载中的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22957224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com