C语言 指向函数的指针(求解)
定义如下:指针float(*p)(); float max(float a[],int n); p=max; /*此处出错*/ sump=(*p)(a,M); 但是编译时出现的错误是 error C2440: '=' : cannot convert from 'float (__cdecl *)(float [],int)' to 'float (__cdecl *)(void)' 求解~怎么修改? 或者跟我讲一下怎么用指向函数的指针?
float(*p)();改为float(*p)(float a[],int n);
就像上面两位说的那样,在定义指针时要定义你所要用的两个参数
声明的时候有问题,你试试把第一句话改成 float(*p)(float a[],int n);
答:ptr,q是同基类型的指针。 如果q指向a,那么,ptr=q使得ptr也指向了a. *q>*ptr是比较q,ptr所指向的变量里的数据。 这样说可以不太明白。因...详情>>