error C2668: “sqrt”: 对重载函数的调用不明确

result=(double)sqrt((pixel[0]-pixel[3])*(pixel[0]-pixel[3])+\(pixel[1]-pixel[2])*(pix... result = (double)sqrt(( pixel[0] - pixel[3] )*( pixel[0] - pixel[3] ) + \
( pixel[1] - pixel[2] )*( pixel[1] - pixel[2] ));

1>c:\documents and settings\n\桌面\chengxu\plateloc\车牌定位\edgecontour.cpp(111) : error C2668: “sqrt”: 对重载函数的调用不明确
1> c:\program files\microsoft visual studio 8\vc\include\math.h(581): 可能是“long double sqrt(long double)”
1> c:\program files\microsoft visual studio 8\vc\include\math.h(533): 或“float sqrt(float)”
1> c:\program files\microsoft visual studio 8\vc\include\math.h(128): 或“double sqrt(double)”
1> 试图匹配参数列表“(int)”时
unsigned char pixel 像素值
展开
 我来答
princeonline
2012-05-15
知道答主
回答量:19
采纳率:0%
帮助的人:10.9万
展开全部
这是因为pixel是整型吧,需要将参数强制装换成(double),结果自然是double了。
result = sqrt((double)( pixel[0] - pixel[3] )*( pixel[0] - pixel[3] ) + ( pixel[1] - pixel[2] )*( pixel[1] - pixel[2] ));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
女儿飞
2009-12-23 · TA获得超过483个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:353万
展开全部
可不可以给主要部分代码?
初步认定是result = (double)sqrt(( pixel[0] - pixel[3] )*( pixel[0] - pixel[3] ) + \
( pixel[1] - pixel[2] )*( pixel[1] - pixel[2] ));
“+\”这个是什么运算
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式