error: too few arguments to function ‘realloc’ struct variable__array* new_array = (struct variable_array*)realloc(void* new_array,sizeof(struct variable_array)+fisrt_size*sizeof(int));
时间: 2024-03-31 20:37:00 浏览: 17
这个错误是因为你在调用 `realloc` 函数时忘记传递第二个参数,即需要重新分配的内存大小。正确的调用方式应该是这样的:`realloc(new_array, sizeof(struct variable_array) + first_size * sizeof(int))`。其中,第一个参数是需要重新分配内存的指针,第二个参数是需要重新分配的内存大小。请注意,第一个参数不能是 `void*` 类型,应该是你需要重新分配内存的指针类型。
相关问题
error: too few arguments to function 'esp_intr_disable'
抱歉,我的回答可能不太准确。在 ESP-IDF 4.4.4 中,要关闭全局中断并保存当前中断状态,可以使用以下代码:
```
portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;
portMUX_LOCK(&mux);
int state = esp_intr_get_cpu()->state;
esp_intr_disable();
```
这将禁用所有全局中断并保存当前中断状态。在代码执行期间,应该避免使用任何需要全局中断的函数。
如果需要重新启用全局中断并恢复先前的中断状态,可以使用以下代码:
```
esp_intr_enable();
portMUX_UNLOCK(&mux);
```
其中 `mux` 是一个用于保护中断状态的互斥锁,`state` 是保存的中断状态。
error: too few arguments to function 'HAL_UART_Transmit'
这个错误提示意味着你在调用 `HAL_UART_Transmit` 函数时没有传递足够的参数。该函数需要传递三个参数:UART外设的句柄、发送数据的缓冲区指针和要发送的数据长度。
请确保你在调用 `HAL_UART_Transmit` 函数时传递了所有必需的参数。例如,如果你想发送一个字符串,你需要将字符串的指针作为第二个参数传递,并使用 `strlen` 函数来计算字符串的长度作为第三个参数。具体可以参考你所使用的MCU的官方文档,或者查看你的代码是否有缺失。