VS2010中编写sqrt出现有多个函数“sqrt”实例与参数列表匹配的问题
我在VS2010中编写如下程序,出现“有多个函数“sqrt”实例与参数列表匹配的问题”。
#include <iostream>
#include <cmath>
using namespace std;
int prime(int i);
int prime(int i)
{
int j,k,flag;
flag = 1;
k = sqrt(i);
for(j=2;j<=k;j++)
{
if(i%j=0)
{
flag = 0;
break;
}
}
if(flag)
return 1;
else
return 0;
}
void main()
{
int i;
cout<<"请输入一个整数:";
cin>>i;
if(prime(i))
cout<<i<<"是质数。"<<endl;
cout<<i<<"不是质数。";
}
请问各位高手应该如何解决?
[解决办法]
解决办法
k = (int)sqrt((float)i);
sqrt要求实数参数,如float或者double型,返回值也是相应的实数类型,所以对于整形参数要进行类型转化,然后返回值也转化为整形就ok了
另外发现一个低级错误
if(i%j=0)