gpt4 book ai didi

c++ - 如何选择适合 C++ 的重载函数?

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

我需要一些帮助来了解编译器如何选择重载的 C++ 函数。

当给定一个函数时:

type func(type1 x, type2 y);
type func(type3 x, type2 y);

编译器如何确定选择哪个函数?

我知道选择的功能是根据它的适用性来选择的,但是如果一个功能可以使用成功,你怎么知道选择哪个功能。

例如:

给定这些函数重载函数:

char* average(int i, float f, double d);
double average(double d, float f, int i);
double fabs(double d);

给定这些变量:

int i1, i2, i3;
float f1, f2, f3;

这些函数调用的返回值是什么数据类型?为什么?

average(i1, i2, i3);
average(f1, f2, f3);
fabs(average(f1,f2,f3));

最佳答案

返回值取决于所进行的函数调用。例如,您的第一个函数调用将返回值 double,因为调用了第二个平均函数。

函数重载完全基于参数而不考虑返回类型。您不能仅仅因为两个函数具有不同的返回类型就对其进行重载。为了使函数重载起作用,函数应该因参数而异。

关于c++ - 如何选择适合 C++ 的重载函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20729900/

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