有多个 重载函数 “acos“ 实例与参数列表匹配

对下面这种类型情况存在报错

int a=1;
int b=2;
float c= acos(a/b);

报错原因是由于多个重载匹配
因为acos的输入参数的问题,重载是以输入参数类型区分的,返回值并不能区分,而acos的输入参数类型没有 int类型的,所以系统会将其转换为其他类型,acos存在类型为float、double、long double。而int可以转换为每一个,所以会出现重载报错,所以可以将输入参数的类型强制转换,如:

int a=1;
int b=2;
float c= acos(float(a)/float(b));

猜你喜欢

转载自blog.csdn.net/qq_41372644/article/details/123871574