下面的代码片段出了什么问题,导致VS2010无法对其进行编译?
int m = sqrt( n );(我正在尝试确定一个整数是否为素数...)
发布于 2011-03-28 00:39:51
您需要将特定的浮点类型传递给sqrt -没有整数重载。使用例如:
long double m = sqrt(static_cast<long double>(n));由于您包括cmath,而不是math.h,所以我假设您想要c++。对于C语言,您需要使用例如:
double m = sqrt((double) n);您得到的错误只是意味着编译器不能自动为您选择sqrt函数-您传递的整数需要转换为浮点类型,并且编译器不知道它应该选择哪个浮点类型和sqrt函数。
https://stackoverflow.com/questions/5450576
复制相似问题