C语言中的函数指针
以下代码(函数原型): 编译时显示错误:C语言中的函数指针,c,gcc,function-pointers,C,Gcc,Function Pointers,以下代码(函数原型): 编译时显示错误: util\setup.c:38: error: syntax error before '*' token util\setup.c:38: error: 'parse_ini' declared as function returning a function util\setup.c:38: error: syntax error before 'void' util\setup.c:50: error: syntax error before '*
util\setup.c:38: error: syntax error before '*' token
util\setup.c:38: error: 'parse_ini' declared as function returning a function
util\setup.c:38: error: syntax error before 'void'
util\setup.c:50: error: syntax error before '*' token
这是什么原因造成的?使用MPLAB C30,这是适用于PIC24F/dsPIC 16位微控制器的GCC v3.23版本。我猜您还没有包含声明/定义
FSFILE
的头,试试这个
typedef void (*varfuncptr)(char *, char*);
typedef void (*secfuncptr)(char *);
void parse_ini(FSFILE *fp, secfuncptr *secFunc, varfuncptr *varFunc);
您的错误来自第38行和第50行,但您只显示了一行代码。您没有额外的一组*吗?这是一个解决方法,而不是修复方法,正如aib所说,您把它搞砸了。但它仍然不起作用,因为bug忘了定义
FSFILE
。
typedef void (*varfuncptr)(char *, char*);
typedef void (*secfuncptr)(char *);
void parse_ini(FSFILE *fp, secfuncptr *secFunc, varfuncptr *varFunc);