c语言代码
#include <stdio.h>void main()
{
int max(int x,int y);
int min(int x,int y);
int add(int x,int y);
void poe(int x,int y,int(*fun)(int,int));
int a,b;
printf("请输入值:");
scanf("%d %d",&a,&b);
printf("max=");
poe(a,b,max);
printf("min=");
poe(a,b,min);
printf("add=");
poe(a,b,add);
}
int max(int x,int y)
{
int temp;
temp=x>y?x:y;
return temp;
}
int min(int x,int y)
{
int temp;
temp=x<y?x:y;
return temp;
}
int add(int x,int y)
{
return x+y;
}
void poe(int x,int y ,int(*fun)(int,int))
{
int result;
result=(*fun)(x,y);
printf("%2d\n",result);
}
上面的代码如果把int(*fun)(int,int)改成无参数就出错了总提示这个:error C2664: 'poe' : cannot convert parameter 3 from 'int (int,int)' to 'int (__cdecl *)(void)'
哪位大佬可以解释为什么,怎么解决???