error: invalid type argument of '->' (have 'BLE_HEADER {aka struct <anonymous>}') G.getBuff->MsgID = (*buff) >> 4;
时间: 2024-05-15 10:12:39 浏览: 18
这个错误提示表明你正在尝试使用箭头运算符 -> 来访问一个非指针类型的变量。从错误提示中看到,你正在尝试访问一个名为 BLE_HEADER 的结构体的成员 MsgID,但是你使用的是箭头运算符 ->,而不是点运算符 .。
也就是说,你应该使用点运算符来访问结构体成员,而不是箭头运算符。修改代码如下:
```c
G.getBuff.MsgID = (*buff) >> 4;
```
这个修改将访问 BLE_HEADER 结构体变量 G.getBuff 的成员 MsgID。
相关问题
error: invalid type argument of ‘->’ (have ‘AVPacket’ {aka ‘struct AVPacket’}) 129 | fwrite(&(pkt->data), 1, pkt->size, fp);
这个错误意味着你正在尝试使用箭头运算符(->)来访问一个非指针类型的变量。在这种情况下,您正在尝试访问一个 AVPacket 结构体的数据成员,但是您使用的是箭头运算符而不是点运算符。应该使用点运算符来访问结构体的成员。
正确的写法应该是:
```
fwrite(pkt.data, 1, pkt.size, fp);
```
sns_quantize_scf.c:373:69: error: invalid type argument of \u2018->\u2019 (have \u2018Dct2 {aka struct <anonymous>}\u2019) fprintf(fp5, "%d","%d","%p", dct2structSNS->length,dct2structSNS->fft->length,(void *)dct2structSNS->fft->handle);
这个错误是因为你正在尝试使用箭头运算符(->)来访问一个不是指针类型的结构体。根据你提供的代码,问题似乎出现在以下这一行:
```c
fprintf(fp5, "%d","%d","%p", dct2structSNS->length,dct2structSNS->fft->length,(void *)dct2structSNS->fft->handle);
```
其中,`dct2structSNS` 是一个 `Dct2` 结构体类型的变量,而它的成员 `fft` 是一个结构体指针类型。因此,在访问 `fft` 结构体的成员时,你需要使用 `->` 运算符而不是 `.` 运算符,就像这样:
```c
fprintf(fp5, "%d","%d","%p", dct2structSNS->length,dct2structSNS->fft->length,(void *)dct2structSNS->fft->handle);
```
这应该可以解决你遇到的问题。