can power函数用于计算像pow(200,200)这样非常大的值的功率 . 也可以用于long long int值... pow(long long int,long long int) .
我收到此错误/sources/tested.cpp:在函数'int main()'中:
/sources/tested.cpp:16:错误:调用重载'pow(long long int&,long long int&)'是不明确的
/usr/include/bits/mathcalls.h:154:注意:候选人是:双人(双人,双人)
/usr/lib/gcc/i486-linux/4.0.1/../../../../include/c /4.0.1/cmath:360:注意:long double std :: pow(long double ,int)
/usr/lib/gcc/i486-linux/4.0.1/../../../../include/c /4.0.1/cmath:356:注意:float std :: pow(float,int )
/usr/lib/gcc/i486-linux/4.0.1/../../../../include/c /4.0.1/cmath:352:注意:double std :: pow(double,int )/usr/lib/gcc/i486-linux/4.0.1/../../../../include/c /4.0.1/cmath:348:注意:long double std :: pow(long双倍,长双
/usr/lib/gcc/i486-linux/4.0.1/../../../../include/c /4.0.1/cmath:344:注意:float std :: pow(float,float )
2 回答
如果你需要为它获取一个库 . 可能,您的平台没有足够大的数据类型本地执行此操作 . 看看GNU MP .
从错误消息中可以看出,没有
pow
函数可以处理两个long long int
值 . 编译器尝试自动将long long int
值转换为其他值(double
或long
等) . 但它无法明确决定采取哪种功能 .您不能使用标准
pow
函数来计算非常大的数字,例如pow(200, 200)
,因为结果不适合定义了pow
函数的任何数据类型 - 您'll get an overflow or other '错误'答案 .