编写一个指向函数的指针的代码时,[Error] invalid conversion from 'int (*)(int, int)' to 'int (*)()' [-fpermissive];

编写一个指向函数的指针的代码时,第二十七行 p = max;语句一直报错,不知道怎么修改

#include<stdio.h>

int max(int a,int b)
{
int max;
max = a;
if(a<b)
{
max = b;
}
}

#if(0)//预处理
int main() // 正常实现比大小功能
{
int a=2,b=4,c;
c = max(a,b);
printf("max = %d\n",c);
}
#endif

#if(1)
int main() //用指向函数的指针实现比大小
{
int (*p)();//定义p为一个指向函数的指针
int a,b,c;
p = max;//

c = (*p)(a,b);
printf("max = %d\n",c);    

}
#endif

运行结果及报错内容

27 4 C:\Users\fairy\Desktop\c\指向函数的指针.cpp [Error] invalid conversion from 'int ()(int, int)' to 'int ()()' [-fpermissive]

知道了,int (*p)();//定义p为一个指向函数的指针,这一句应改为
int (*p)(int x,int y);
要与函数max相对应

int (*p)(int, int);