gpt4 book ai didi

c - 从不兼容的指针类型 [默认启用] 传递参数 1 'Buffer_GetElement' 时出错?

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:54 25 4
gpt4 key购买 nike

在我的代码中有这些声明:

#define NUM_CHANNELS  3
uint8_t currentByte = 0xAA;
RingBuff_Data_t Buffer_GetElement(RingBuff_t* Buffer);

Buffer_GetElement 函数在我的代码中定义如下:

RingBuff_Data_t Buffer_GetElement(RingBuff_t* Buffer)
{
RingBuff_Data_t BuffData;

BUFF_ATOMIC_BLOCK
{
#if defined(BUFF_EMPTYRETURNSAA)
if (!(Buffer->Elements))
return 0xAA;
#elif defined(BUFF_NOEMPTYCHECK)
#error No empty buffer check behaviour specified.
#endif

BuffData = *(Buffer->OutPtr);

Buffer->OutPtr++;
Buffer->Elements--;

if (Buffer->OutPtr == &Buffer->Buffer[BUFF_LENGTH])
Buffer->OutPtr = (RingBuff_Data_t*)&Buffer->Buffer;
}

return BuffData;
}

每次我尝试使用以下行时:

currentByte = Buffer_GetElement(uartChannels[ii].RingBuff.Buffer);

我收到一条错误消息:

Passing argument1 of 'Buffer_GetElement' from incompatible pointer type [enabled by default]

有人知道这是为什么吗?我已经盯着它看了一个小时了,还是想不通。幸运的是,这可能是一些愚蠢的错误。

感谢您的帮助!

最佳答案

uartChannels[ii].RingBuff.Buffer 的类型不是RingBuff_t*

函数 Buffer_GetElement() 被声明为采用 RingBuff_t* 参数,但您尝试传递一些不同的指针。

关于c - 从不兼容的指针类型 [默认启用] 传递参数 1 'Buffer_GetElement' 时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145053/

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