typedef void编译错误(初始化(改为使用decltype))

时间:2018-04-03 02:36:00

标签: c++ compiler-errors

我试图用一些struct来编译一个简单的标题但是我收到了这个错误:

ppal.h:25:34: error: typedef ‘string_proc_func’ is initialized (use decltype instead)
typedef void (*string_proc_func)(string_proc_key*);

还有很多其他错误,但我认为这个错误导致其他错误。我的标题如下所示:

#include <stdint.h>
using namespace std;

typedef struct string_proc_list_t
{
    char* name;
    struct string_proc_node_t* first;
    struct string_proc_node_t* last;
} __attribute__((__packed__)) string_proc_list;


typedef struct string_proc_node_t
{
    struct string_proc_node_t* next;
    struct string_proc_node_t* previous;
    string_proc_func f;
    string_proc_func g;
    string_proc_func_type type;
} __attribute__((__packed__)) string_proc_node;

typedef void (*string_proc_func)(string_proc_key*);

typedef enum string_proc_func_type_t
{
    REVERSIBLE = 0,
    IRREVERSIBLE = 1
} __attribute__((__packed__)) string_proc_func_type;

typedef struct string_proc_key_t
{
    uint32_t length;
    char* value;
} __attribute__((__packed__)) string_proc_key;

我找了类似的问题,但我找不到如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您正在尝试在声明之前使用string_proc_key

移动typedef struct ... string_proc_key;

下面的错误行