zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

单片机开发,keil编译报错:..\xxx.c(31): error: #70: incomplete type is not allowed memset(stmflash_buf, 0,

单片机开发 报错 Error not 编译 is type
2023-09-14 09:15:57 时间

一、问题描述

在单片机开发中,使用keil进行开发,编译报错如下:

..\xxx.c(31): error:  #70: incomplete type is not allowed
  	memset(stmflash_buf, 0, sizeof(stmflash_buf)/sizeof(*(stmflash_buf)));

二、问题分析

stmflash_buf是一个全局变量,在其它文件中定义,外部声明如下,没有说明数据的大小,sizeof无法知道数据的大小。

extern uint32_t stmflash_buf[];

三、解决方案

只需在外部声明中说明数据的大小即可。

extern uint32_t stmflash_buf[256];