Visual studio 2010 #包括<;cmath>;
下面的代码段有什么问题,VS2010不会编译它Visual studio 2010 #包括<;cmath>;,visual-studio-2010,cmath,Visual Studio 2010,Cmath,下面的代码段有什么问题,VS2010不会编译它 int m = sqrt( n ); (我正在尝试确定整数是否为素数…您需要将特定的浮点类型传递给sqrt——没有整数重载。使用例如: long double m = sqrt(static_cast<long double>(n)); 您得到的错误仅仅意味着编译器无法自动为您选择sqrt函数-您传递的整数需要转换为浮点类型,编译器不知道应该选择哪种浮点类型和sqrt函数。您需要将特定的浮点类型传递给sqrt——没有整数重载。使用例
int m = sqrt( n );
(我正在尝试确定整数是否为素数…您需要将特定的浮点类型传递给
sqrt
——没有整数重载。使用例如:
long double m = sqrt(static_cast<long double>(n));
您得到的错误仅仅意味着编译器无法自动为您选择
sqrt
函数-您传递的整数需要转换为浮点类型,编译器不知道应该选择哪种浮点类型和sqrt
函数。您需要将特定的浮点类型传递给sqrt
——没有整数重载。使用例如:
long double m = sqrt(static_cast<long double>(n));
您得到的错误仅仅意味着编译器无法自动为您选择
sqrt
函数-您传递的整数需要转换为浮点类型,编译器不知道应该选择哪种浮点类型和sqrt
函数。没有足够的信息来决定您显示的代码为何无法编译。您收到了什么错误消息?我收到了:错误C2668:“sqrt”:对重载函数的调用不明确听起来n
是错误的类型。看看@Erik的答案。Erik的答案很有效。而不是intm=sqrt(n)代码>我应该使用长双m=sqrt(static_cast(n))代码>没有足够的信息来决定您显示的代码为何无法编译。您收到了什么错误消息?我收到了:错误C2668:“sqrt”:对重载函数的调用不明确听起来n
是错误的类型。看看@Erik的答案。Erik的答案很有效。而不是intm=sqrt(n)代码>我应该使用长双m=sqrt(static_cast(n))代码>