Tpsopf 2015-07-10 09:46 采纳率: 0%
浏览 1349

不能运行,什么地方出错了

#include
int val1898(int [],int);
main(){
int i,j,r=0;
bool flag;
int *a=new int [r];
for(i=2;i<=2000;i++){
for(j=i/2;j>=2;j--){
if(i%j==0)
flag=false;
else{
flag=true;
a[r++]=i;
}

    }
}
val1898(a,r);
return 0;

}
int val1898(int b[],int r){
int x[r-1],i,s=0,j;
for(i=0;i<r-1;i++)
x[i]=b[i+1]-b[i];
for(i=0;i<r-1;i++){
for(j=0;j<r-1;j++){
s=x[i]+x[j];
if(s==1898)
printf("%d---%d",i,j);
}
}
return 0;
}


  • 写回答

4条回答 默认 最新

  • frank_20080215 2015-07-10 10:13
    关注

    重载定义产生了二义性,以至于无法编译。
    两个函数的返回类型一样、形参类型和形参数量都一样。编译时认为两个函数是重复定义的错误。
    编译时,重载函数的形参的名称是忽略不计的。

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料