注册 登录
编程论坛 C++教室

有难题,来找‘神',没错你就是神!

九天冥盟 发布于 2015-07-31 18:30, 607 次点击
求解
 int main()
{
    void cha_bu(float (*p)(float student[N][3],float *p),float student[N][3]);
    float aver_2(float studnt[N][3],float *p);
   
    float student[N][3];  
    cout<<"input :";                  
    for(int i=0;i<N;i++)
        for(int j=0;j<3;j++)
        {cin>>student[i][j];}

cha_bu(aver_2,student);

    return 0;
}
void  cha_bu(float (*p)(float student[N][3],float *p),float student[N][3])
{
    float *p1;                                       
    for(int i=0;i<N;i++)
    {
        if((p1=pt(student,i))!=NULL)                 
        {     
            cout<<i+1<<endl;                       
            for(int j=0;j<3;j++)
                cout<<*(p1+j)<<"\t";                 
        }
        cout<<"aver:"<<(*p)(student,p1)<<endl;  
    }
}
float aver_2(float studnt[N][3],int *p)
{
    float number;
    for(int j=0;j<3;j++)
        number+=*(p+j);               
    return number/3;
}
float *pt(float student[][3],int n)
{
    int m=0;
    for(int i=0;i<3;i++)
    {    if(student[n][i]<60)  m++;}
    if(m>=2)
        return student[n];
    else
        return NULL;
}
  undefined reference to `aver_2(float (*) [3], float*)'
  [Error] ld returned 1 exit status
求解,大侠们!!!!!!!!!!!!高手来吧


3 回复
#2
zklhp2015-07-31 18:33
很简单
int main()
{
    void cha_bu(float (*p)(float student[N][3],float *p),float student[N][3]);
    float aver_2(float studnt[N][3],float *p);
                                    ^
...

float aver_2(float studnt[N][3],int *p)
                                ^
{
    float number;
    for(int j=0;j<3;j++)
        number+=*(p+j);               
    return number/3;
}

两个地方写的不一样 所以报错
#3
九天冥盟2015-07-31 20:17
谢了,我真是粗心啊!
#4
无鋒2015-08-19 01:15
看不懂
1