【发布时间】:2018-12-03 20:50:11
【问题描述】:
我有一个定义的函数:
uint32_t match_data(uint8_t * data_in, uint16_t size_data_in);
我尝试使用以下 typedef 结构作为参数的地方
typedef struct
{
uint8_t chars[5]
uint8_t ADC;
}Data
Data input;
input.chars[0] = 65;
input.chars[1] = 66;
input.chars[2] = 67;
input.chars[3] = 68;
input.chars[4] = 69;
input.ADC = 255;
match_data((uint8_t *)input, sizeof(input));
match_data() 函数返回需要算术或指针类型的“数据”类型的操作数
如何将 typedef 结构转换为 uint8_t?如果我用它作为参考,我会得到同样的错误
如果我只使用 char 数组,我可以直接转换它,但在使用 typedef 结构时不能
【问题讨论】:
-
match_data((uint8_t *) &input, sizeof(Data));