在一个“clink.h”的文件中定义一个链表结构体
- typedef struct Elink{
- uint8_t * head;/*数据写入缓冲区头部*/
- uint8_t * headbuf;/*缓冲区头部指针*/
- uint8_t * endLen;/*缓冲区尾结束指针*/
- uint16_t dataLen;/*缓冲区内数据长度*/
- struct Elink *next;
- }ClinkType;
复制代码
再在一个缓冲文件“ringBuf.h”包含了“clink.h”
- #include "ringBuffer.h"
- #include "clink.h"
复制代码
在“ringBuf.h”中定义一个函数带ClinkType 类型的指针形参
- bool WriteDataToRingBuffer(ringBufType_t *pRingBuf,ClinkType *Phead,uint8_t *pBuf, uint16_t len);
复制代码
编译之后报错,说ClinkType未定义: error: #20: identifier "ClinkType" is undefined;
请问各位大神,我是用错了嘛,还是那里不对了?
然而并不是这样可以解决,试过没效果
我觉得你这个回答是最有可能 的了,我要花时间验证一下
这应该是TYPE作用域的问题,详细现象看我23楼
5.jpg (237.81 KB, 下载次数: 0)
下载附件
2019-2-25 10:34 上传
是如你所说,改变位置后是可以编译通过,就是看着难受。
在STM32的库文件中很多都是定义 在.H文件中,但他在我编写程序调用时也没提示过这种情况。
就是想知道人家是怎样实现的
一周热门 更多>