首页 文章

g编译器中包含的g函数

提问于
浏览
0

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 回答

  • 1

    如果你需要为它获取一个库 . 可能,您的平台没有足够大的数据类型本地执行此操作 . 看看GNU MP .

  • 4

    从错误消息中可以看出,没有 pow 函数可以处理两个 long long int 值 . 编译器尝试自动将 long long int 值转换为其他值( doublelong 等) . 但它无法明确决定采取哪种功能 .

    您不能使用标准 pow 函数来计算非常大的数字,例如 pow(200, 200) ,因为结果不适合定义了 pow 函数的任何数据类型 - 您'll get an overflow or other '错误'答案 .

相关问题