error C2668: "sqrt": 对重载函数的调用不明确
改成这样 k=int(sqrt((float)m)); 或者 k=int(sqrt((double)m)); vc2008更严格
error C2668: “sqrt”: 对重载函数的调用不明确?
重载函数二义性,不知道用哪个转换将int转换之后更好,这三个函数都是标准转换,所以一样好。你可以用转换把int类型参数static_cast<T>(x),T可以是float就行,因为它应该足够表示int了。很多VC6下可以运行的程序,到了VC2008下,都不会直接通过,因为VC2008更标准了,VC6应该说有点老了。
error C2668: "sqrt": 对重载函数的调用不明确 2 IntelliSense: 有多...
重载函数二义性,不知道用哪个转换将int转换之后更好。将sqrt调用改为:b = int(sqrt(float(i)));或者 b = int(sqrt(double(i)));
error C2668: “sqrt”: 对重载函数的调用不明确
这是因为pixel是整型吧,需要将参数强制装换成(double),结果自然是double了。result = sqrt((double)( pixel[0] - pixel[3] )*( pixel[0] - pixel[3] ) + ( pixel[1] - pixel[2] )*( pixel[1] - pixel[2] ));
编译时说sqrt对重载函数调用不明确,为什么?
运行程序时出现下述错误:error C2668: “sqrt”: 对重载函数的调用不明确。1> d:\\vs2010\\vc\\include\\math.h(581): 可能是“long double sqrt(long double)”1> d:\\vs2010\\vc\\include\\math.h(533): 或 “float sqrt(float)”1> d:\\vs2010\\vc\\include\\math.h(128): 或 ...
VS2010 error C2668: “log”: 对重载函数的调用不明确
d:\\visual c++\\VC\\INCLUDE\\math.h(575): 可能是“long double log(long double)”d:\\visual c++\\VC\\INCLUDE\\math.h(527): 或 “float log(float)”d:\\visual c++\\VC\\INCLUDE\\math.h(120): 或 “double log(double)”都已经提示要如何修改了 ~~~...
提示sqrt对重载函数调用不明确
这说明存在其他同名函数啊,你检查下有没有同名,系统产生歧义的时候才会出现这条提示的
sqrt对重载函数的调用不明确
这个你需要强制类型转化,因为sqrt只支持double和float类型,你可以这样 c=(int) sqrt((double)a*a+b*b);或者c=(int) sqrt((float)a*a+b*b);
为什么会出现这个问题:sqrt”: 对重载函数的调用不明确
改成int后把小数部分丢失了,其一。如果你对丢失小数部分无所谓的话,可以根据错误提示,把SQRT中的参数加上强制类型转换(long double或double或float)
求大神解答为什么老说我的“sqrt”: 对重载函数的调用不明确
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl sqrt(_In_ double _X);首先重载:一个是函数个数不一致,一个是函数类型不一致;你上面的传入的是一个int 类型,原本内部的是一个double类型。