在一个“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;
请问各位大神,我是用错了嘛,还是那里不对了?
我现在是多个文件带参传进去,现在好了,每个文件都有定义typedef
我只是暂时屏蔽了部分代码,单独来调试这两个文件,我看了STM32的库也是这样用也可以,就是我自己写的不行
#include "clink.h"
#include "ringBuffer.h"
调换一下就可以了!!!
所有东西的使用都是先声明!!!
那我要在其他文件中的函数参数要传入这个自己定义类型,就出问题了
一周热门 更多>