#include;
下面的代码片段有什么问题,VS2010无法编译它?
int m = sqrt( n );
(我试图确定一个整数是否是素数......)
What is wrong with the code snippet below that VS2010 wouldn't compile it?
int m = sqrt( n );
( I am trying to ascertain whether an integer is prime... )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将特定的浮点类型传递给
sqrt
- 没有整数重载。使用例如:当您包含
cmath
而不是math.h
时,我假设您需要 c++。对于 C,您需要使用例如:您得到的错误只是意味着编译器无法自动为您选择
sqrt
函数 - 您传递的整数需要转换为浮点类型,并且编译器不知道应该选择哪种浮点类型和 sqrt 函数。You need to pass a specific floating point type to
sqrt
- there's no integer overload. Use e.g:As you include
cmath
notmath.h
I'm assuming you want c++. For C, you'll need to use e.g:The error you get simply means that the compiler cannot automatically select a
sqrt
function for you - the integer you pass needs to be converted to a floating point type, and the compiler doesn't know which floating point type andsqrt
function it should select.