c++,简单问题,高手帮忙,谢谢。

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:58:53
#include <iostream.h>
int max(int x,int y)
{
return(x>y?x:y);
}
void main()
{
int (*p)(int,int)
int a,b,c;
*p=max;
cout<<"请输入a,b的值"<<endl;
cin>>a>>b;
c=(*p)(a,b);
cout<<"max(a,b)="<<c<<endl;
}
编译通不过,报错,请问错在哪里?

int (*p)(int,int) 之后要加分号;

既然 p 已经是指针了,函数名max也是指针,
那么赋值语句要写成这个样子: p = max;

这样就可以编译通过。

int (*p)(int,int)=max;

*p=max;

==>p = max;

void main()
{
int (*p)(int,int);
int a,b,c;
p=max;
cout<<"请输入a,b的值"<<endl;
cin>>a>>b;
c=(*p)(a,b);
cout<<"max(a,b)="<<c<<endl;
}