您的位置:首页 > 其它

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

2016-09-16 12:14 330 查看
问题描述:

在把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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: