rgument of type "uint8_t *" is incompatible with parameter of type "const char *"C/C++(167)
时间: 2023-12-01 14:02:20 浏览: 122
这个错误的意思是你在将一个 uint8_t 类型的指针作为参数传递给了一个函数,但是该函数的参数类型是 const char *,两者类型不兼容导致编译器报错。
要解决这个问题,你可以将 uint8_t * 指针强制类型转换成 const char *,或者修改函数参数类型为 uint8_t *。具体哪种方法更适合取决于你的代码实现和需求。
相关问题
: argument of type "uint8_t" is incompatible with parameter of type "uint8_t *"
这个错误提示表明您传递给函数的参数类型不匹配。函数期望的参数类型是 "uint8_t *",即指向 uint8_t 类型数据的指针,但您实际传递的是 "uint8_t" 类型的变量。
为了解决这个问题,您需要将参数的类型从 uint8_t 更改为 uint8_t *。这可以通过使用取地址操作符(&)来实现,将变量的地址传递给函数。
例如,如果您有一个名为 "data" 的 uint8_t 变量,并且希望将其传递给函数,您可以这样做:
```
uint8_t data;
// 假设您有一个名为 "function_name" 的函数,该函数期望参数类型为 "uint8_t *"
function_name(&data);
```
这样,函数将接收到指向 "data" 变量的指针,而不是变量本身。请确保函数在内部正确处理指针类型的参数。
Error[Pe167]: argument of type "uint8_t" is incompatible with parameter of type "uint8_t *
这个错误通常出现在函数调用时,函数形参需要传入指针类型,但是实参却传入了一个变量。
例如,函数原型为:
```
void foo(uint8_t *ptr);
```
如果你在调用该函数时传入一个变量:
```
uint8_t var = 1;
foo(var);
```
就会出现这个错误。
要解决这个错误,需要将传入的变量取地址符号(&)取地址,改为传入一个指针:
```
uint8_t var = 1;
foo(&var);
```
这样就可以避免这个错误了。
阅读全文