我在下面的链接中使用了代码:
readline库
,我定义了这样的结构
typedef struct {
char *name; /* User printable name of the function. */
Function *func; /* Function to call to do the job. */
char *doc; /* Documentation for this function. */
} COMMAND;
编译代码时,编译器会显示以下警告:
"函数被弃用[-wdeprected-declarations]"
那么,如果无法使用函数类型,我应该更改什么类型?
Function
是 typedef
(返回 int
函数的指针的别名(,标记为图书馆弃用:
typedef int Function () __attribute__ ((deprecated));
只使用:
typedef struct {
char *name; /* User printable name of the function. */
int (*func)(); /* Function to call to do the job. */
char *doc; /* Documentation for this function. */
} COMMAND;
我认为您应该删除功能。以下可能会起作用。
#include <stdio.h>
typedef void (*Function)();
typedef struct {
char *name; /* User printable name of the function. */
Function *func; /* Function to call to do the job. */
char *doc; /* Documentation for this function. */
}COMMAND;
int main() {
COMMAND commond;
puts( "end" );
return 0;
}