一、背景
1.STM32L4(Cotex-M4)
2.官方代码
二、现象(BUG)
..\ST\Stm32l4xx Hal Driver\Src\stm32l4xx_hal_rtc.c(2021): error: #268: declaration may not appear after executable statement in block
三、原因
1.声明不能出现在可执行状态之后,C语言关于变量的定义只能放在函数的开头,放在执行语句的前面定义,这是C89的标准。
但是:C99标准就已经改变了,无论定义在之前还是之后都是可以的
四、解决办法
1.将声明放在声明开头;
2.打开“魔术棒”-->“C/C++”-->将C99 mode打钩即可;如图