Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何修复:无法转换';uint8_t(*)[50]{aka unsigned char(*)[50]}';至';uint8_t*{aka unsigned char*}';_C++_C - Fatal编程技术网

C++ 如何修复:无法转换';uint8_t(*)[50]{aka unsigned char(*)[50]}';至';uint8_t*{aka unsigned char*}';

C++ 如何修复:无法转换';uint8_t(*)[50]{aka unsigned char(*)[50]}';至';uint8_t*{aka unsigned char*}';,c++,c,C++,C,我正在为一个特定的问题编程ATMEGA328p。我使用C和C++的库。p> 当我编译代码时,当前的错误是: 错误:无法将参数“2”的“uint8_t()[50]{aka unsigned char()[50]}”转换为“uint8_t*{aka unsigned char*}”,将其转换为“void SendXbee(char,uint8_t*) 我对函数的调用是: uint8_t tempBuffer[50] SendXbee(_data, &tempBuffer); void Se

我正在为一个特定的问题编程ATMEGA328p。我使用C和C++的库。p> 当我编译代码时,当前的错误是: 错误:无法将参数“2”的“uint8_t()[50]{aka unsigned char()[50]}”转换为“uint8_t*{aka unsigned char*}”,将其转换为“void SendXbee(char,uint8_t*)

我对函数的调用是:

uint8_t tempBuffer[50]
SendXbee(_data, &tempBuffer);
void SendXbee(char Data, uint8_t* Frame){
.
.
.
xBeeAPI_To_Buffer_From_Frame(&Frame, &transmitFrame);
}
在库头文件中:

void SendXbee(char Data, uint8_t *Frame);
在.c存档中,功能是:

uint8_t tempBuffer[50]
SendXbee(_data, &tempBuffer);
void SendXbee(char Data, uint8_t* Frame){
.
.
.
xBeeAPI_To_Buffer_From_Frame(&Frame, &transmitFrame);
}

我做错了什么?

从调用的函数调用或框架中删除
&
。。数组自然衰减为指向其第一个元素的指针(如果需要指针)。如果使用普通
temnpBuffer
与使用
&tempBuffer[0]
相同(它恰好是指向
uint8\u t
的指针类型,即
uint8\u t*
)。当您使用
&tempBuffer
时,会得到一个指向数组本身的指针。在你的例子中,它确实有类型
uint8\u t(*)[50]
。对于解释人来说,这有助于我理解其他错误。很高兴得到您的帮助。从调用中删除函数调用或框架中的
&
。数组自然会衰减为指向其第一个元素的指针(如果需要指针)。如果使用普通
temnpBuffer
与使用
&tempBuffer[0]
相同(它恰好是指向
uint8\u t
的指针类型,即
uint8\u t*
)。当您使用
&tempBuffer
时,会得到一个指向数组本身的指针。在你的例子中,它确实有类型
uint8\u t(*)[50]
。对于解释人来说,这有助于我理解其他错误。我很高兴你的帮助。