C功能被弃用



我在下面的链接中使用了代码:

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]"

那么,如果无法使用函数类型,我应该更改什么类型?

Functiontypedef(返回 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;
}

相关内容

  • 没有找到相关文章

最新更新