能否将函数指针作为常量参数传递?
在编译以下代码时,我得到了以下gcc错误信息:
warning: type defaults to 'int' in declaration of 'f' [-Wimplicit-int] void execute(void (const *f)(void));
这是代码:
#include <stdio.h>
void print(void);
void execute(void (const *f)(void));
int main(void)
{
execute(print); // sends address of print
return 0;
}
void print(void)
{
printf("const!");
}
void execute(void (const *f)(void)) // receive address of print
{
f();
}
这不是指向常量函数的指针的重复,该问题涉及到指向const函数而不是const
函数参数。