gcc编译c程序出错,一个简单的结构体指针定义,各位大神看下是哪里有问题啊

三只猴子 2017-11-23 05:30:18
typedef struct {
int version;
int width;
unsigned char *data;
} QRcode;
typedef struct _QRcode_List QRcode_List;
struct _QRcode_List {
QRcode *code;
QRcode_List *next;
};

这是纯c语言的qrencode库程序,用于生成二维码的,在vs2013下顺利执行,但是用gcc编译出错,提示“QRcode *code; ”这句存在错误,注释掉这句就顺利执行了,到底是什么问题啊,是不是c语言下不能这样写啊
...全文
277 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
发光的小太阳 2019-08-23
  • 打赏
  • 举报
回复
在结构体内的指针定义前面把struct加上:struct unsigned char *data;
三只猴子 2017-11-27
  • 打赏
  • 举报
回复
最终也没搞清楚是哪里的问题,把指针的定义移到结构体外面就没报错了
paschen 2017-11-23
  • 打赏
  • 举报
回复
代码没问题,错误内容是什么
自信男孩 2017-11-23
  • 打赏
  • 举报
回复
typedef struct {
int version;        
int width;         
unsigned char *data; 
} QRcode;
这儿是不是应该定义下名字呢,直接定义别名,那么别名也应该是谁的名字。 试一下这样是否可行:
typedef struct recode {
int version;        
int width;         
unsigned char *data; 
} QRcode;

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧