gpt4 book ai didi

c - C代码错误: expected identifier or ‘(’ before ‘free_node_t’

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:53 24 4
gpt4 key购买 nike

.h 文件,包含用于在 c 中创建列表的 header :

 #ifndef SO605_GC
#define SO605_GC
#include <stddef.h>

#define MEMSIZE 4096*1024*1024

typedef struct free_node {
size_t size;
struct free_node *next;
} free_node_t;

typedef *free_node_t mem_free_t;

void *aloca(size_t size);
void libera(void *ptr);

#endif

编译时出现错误:

aloca.h:14:10: error: expected identifier or ‘(’ before ‘free_node_t’ typedef *free_node_t mem_free_t;

如何解决?

最佳答案

语法错误

typedef *free_node_t mem_free_t;

应该是

typedef free_node_t *mem_free_t;

但请不要typedef 指针。此外,我相信后缀 _t 通常是保留的。

还要注意 4096*1024*1024 不适合 32 位变量,无论它是什么,而且可能不会像您想象的那样相乘。

关于c - C代码错误: expected identifier or ‘(’ before ‘free_node_t’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com