
3个回答
展开全部
将 m = pow(2, i) 改成 m = pow(2.0, i) 就好了,因为pow的那三个函数里面,没有哪个的第一个参数是int类型的。
展开全部
调用不明确,因为C++重载的原因导致的.
你可以用 cmath 代替 math.h
另外,你可以用强制类型转换来达到使调用明确.
比如改成
m = (int)pow((long double)2,i);
或者
m = (int)pow((double)2,i);
或者
m = (int)pow((float)2,i);
来明确你的调用
你可以用 cmath 代替 math.h
另外,你可以用强制类型转换来达到使调用明确.
比如改成
m = (int)pow((long double)2,i);
或者
m = (int)pow((double)2,i);
或者
m = (int)pow((float)2,i);
来明确你的调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在VC++6.0中原型为double pow( double x, double y );
头文件:cmath
功能:计算x的y次幂。
返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果。
返回类型:double型,int,float会给与警告!
举例:
#include<math.h>
#include<stdio.h>
int main(void)
{
doublex=2.0,y=3.0;
printf("%lfraisedto%lfis%lf\n",x,y,pow(x,y));
return0;
}
C++提供以下几种pow函数的重载形式:
double pow(double X,int Y);
float pow(float X,float Y);
float pow(float X,int Y);
long double pow(long double X,long double Y);
long double pow(long double X,int Y);
使用的时候应合理设置参数类型,避免有多个“pow”实例与参数列表相匹配的情况。
头文件:cmath
功能:计算x的y次幂。
返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果。
返回类型:double型,int,float会给与警告!
举例:
#include<math.h>
#include<stdio.h>
int main(void)
{
doublex=2.0,y=3.0;
printf("%lfraisedto%lfis%lf\n",x,y,pow(x,y));
return0;
}
C++提供以下几种pow函数的重载形式:
double pow(double X,int Y);
float pow(float X,float Y);
float pow(float X,int Y);
long double pow(long double X,long double Y);
long double pow(long double X,int Y);
使用的时候应合理设置参数类型,避免有多个“pow”实例与参数列表相匹配的情况。

你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询