我试图用一些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;
我找了类似的问题,但我找不到如何解决这个问题。
答案 0 :(得分:1)
您正在尝试在声明之前使用string_proc_key
。
移动typedef struct ... string_proc_key;