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

问题描述:


在把VC6.0 工程转到VS2005工程中可能会遇到下面的问题


VS2005中,数学函数的参数检查更为严格,如pow(2, 45)会引起一个错误提示如下:


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


d:\program files\microsoft visual studio 8\vc\include\math.h(575): 可能是“long double pow(long double,int)”


d:\program files\microsoft visual studio 8\vc\include\math.h(527): 或“float pow(float,int)”




d:\program files\microsoft visual studio 8\vc\include\math.h(489): 或“double pow(double,int)”


试图匹配参数列表“(int, int)”时


 


解决方法:


正确的使用为pow(2.0, 45) 或 

pow有多个函数,未知明确匹配哪 一个,你必须明确使用哪种数据类型来计算。
例如这样:pow((double)2,2)  或 pow(4.,5.)pow((float)(a % 10), 3) 同理sqrt函数也一样的道理: sqrt((float)a);

http://www.vcerror.com/?p=1577


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值