今天在看apue的时候发现了一个奇怪的代码,因为这个代码实在是有点长,所以我把我有所困惑的几个语句截取下来进行提问。
//第一句是定义了个函数类型
typedef int Myfunc (const char *,const struct stat *,int);
//第二句应该是定义了一个Myfunc类型的函数对象,看起来有点像C++里面的//函数重载
static Myfunc myfunc;
//myftw函数声明
static int myftw(char *,Myfunc *);
.
.
.
//这里是我的问题所在,我明明上面定义的是一个函数变量,在myftw的声
//明中,第二个参数理应传的是一个函数类型的指针,但是在下面的语句中
//我传入了一个函数类型的变量,编译并没有报错,请问是为什么呢?
myftw(pathname,myfunc);