函数指针
今天在改rtld-elf的时候发现,它定义了一个函数指针数组,其内容是参数不定的,于是定义为:
typedef void (*func_ptr)();
然而,在较高的警告级别下,这一写法会被gcc认为不是prototype。
仔细想了想,这个数组的内容实际上并不关注函数类型和参数,因此改为:
typedef void (*func_ptr)(void);
C语言想要表达出一个靠谱的类型,而又不损失代码的严谨性还真是不容易。。。
今天在改rtld-elf的时候发现,它定义了一个函数指针数组,其内容是参数不定的,于是定义为:
typedef void (*func_ptr)();
然而,在较高的警告级别下,这一写法会被gcc认为不是prototype。
仔细想了想,这个数组的内容实际上并不关注函数类型和参数,因此改为:
typedef void (*func_ptr)(void);
C语言想要表达出一个靠谱的类型,而又不损失代码的严谨性还真是不容易。。。