incompatible integer to pointer conversion assigning to 'struct kalman_filter_t *' from 'int' [-Werror,-Wint-conversion] filtered_gravity = Kalman_CreateFilter();
时间: 2024-03-03 10:54:03 浏览: 334
Genymotion-ARM-Translation(兼容包)_genymotion-arm-translation_for_1
5星 · 资源好评率100%
这个错误是因为你尝试将一个整数赋值给一个指向结构体 `kalman_filter_t` 的指针类型 `filtered_gravity`。解决方法是检查 `Kalman_CreateFilter()` 函数的返回类型是否为 `kalman_filter_t*`,如果不是,需要将其转换为正确的类型。另外,你可以尝试使用类型强制转换来解决这个问题,但是要确保转换的类型是正确的。例如,你可以将代码改为以下形式:
```
filtered_gravity = (kalman_filter_t*)Kalman_CreateFilter();
```
这样就可以将整数类型强制转换为指向 `kalman_filter_t` 结构体的指针类型。但是要注意,使用类型强制转换可能会潜在地引入其他问题,因此最好的解决方法是确保函数返回类型正确。
阅读全文